用python与文件进行交互的方法


Posted in Python onMarch 01, 2018

本文介绍了用python与文件进行交互的方法,分享给大家,具体如下:

一.文件处理

1.介绍

计算机系统:计算机硬件,操作系统,应用程序

应用程序无法直接操作硬件,通过操作系统来操作文件,进而读/写硬件中的文件。

python打开文件过程:

#打开
f=open('a.txt','r')
#通过句柄对文件进行操作
read_f=f.read()
#关闭文件
f.close()
with open('a.txt','r') as f:  #不需要关闭
f.close() #回收操作系统打开的文件
del f #回收应用程序级的变量

2.打开文件的模式

a.打开文本文件

#r,只读模式【默认模式,文件必须存在,不存在则抛出异常】
f=open('a.txt',encoding='utf-8')
data1=f.read()
print(f.readline(),end='')
print(f.readlines())
#w,只写模式【不可读;不存在则创建;存在则清空内容】
f=open('a.txt','w',encoding='utf-8')
f.write('werf')
#a,只追加写模式【不可读;不存在则创建;存在则只追加内容】
f=open('a.txt','a',encoding='utf-8')
f.write('werf\n')

b.对于非文本文件,只能使用b模式,"b"表示以字节的方式操作(而所有文件也都是以字节的形式存储的,使用这种模式无需考虑文本文件的字符编码、图片文件的jgp格式、视频文件的avi格式

with open('1.jpg','rb') as f_read:
  data=f_read.read()
  print(data)
with open('a.txt','rb') as f_read:
  data=f_read.read().decode('utf-8') #解码
  print(data)
with open('a.txt','wb')as f_write:
  f_write.write('adsf'.encode('utf-8'))
'''
练习,利用b模式,编写一个cp工具,要求如下:

1. 既可以拷贝文本又可以拷贝视频,图片等文件


2. 用户一旦参数错误,打印命令的正确使用方法,如usage: cp source_file target_file
'''
import sys
if len(sys.argv)!=3:
  print('usage:cp source_file target_file')
  sys.exit()
source_file,target_file=sys.argv[1],sys.argv[2]
print()
with open(source_file,'rb')as f_read,open(target_file,'wb')as f_write:
  for line in f_read:
    f_write.write(line)

3.文件内光标的移动

#以文本模式读文件,n代表的是字符的个数
with open('a.txt','r')as f_read:
  data=f_read.read(6)
  print(data)
#以b模式读文件,n代表的是字节的个数
with open('a.txt','rb')as f_read:
  data=f_read.read(6)
  print(data)
# tell:告诉当前光标的位置
with open('a.txt','r',encoding='utf-8')as f_read:
  data=f_read.read(4)
  data1=f_read.tell()
  print(data,data1)
# seek:移动光标(0:文件开头默认;1:文件当前光标;2:文件末尾)
with open('a.txt', 'r', encoding='utf-8')as f_read:
  data = f_read.seek(3)
  data1 = f_read.read()
  print(data, data1)
# 实现tail功能
import time
with open('access.log', 'rb')as f_read:
  f_read.seek(0,2)
  while True:
    line = f_read.readline()
    if line:
      print(line.decode('utf-8'),end='')
    else:
      time.sleep(1)

4.文件的修改

import os

with open('a.txt') as read_f,open('.a.txt.swap','w') as write_f:
  for line in read_f:
    line=line.replace('alex','SB')
    write_f.write(line)

os.remove('a.txt')
os.rename('.a.txt.swap','a.txt')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
从零学python系列之从文件读取和保存数据
May 23 Python
Python中线程编程之threading模块的使用详解
Jun 23 Python
python异常和文件处理机制详解
Jul 19 Python
Python+Selenium自动化实现分页(pagination)处理
Mar 31 Python
TF-IDF与余弦相似性的应用(一) 自动提取关键词
Dec 21 Python
Python面向对象之继承代码详解
Jan 29 Python
python 创建一个空dataframe 然后添加行数据的实例
Jun 07 Python
python中partial()基础用法说明
Dec 30 Python
用Python调用win命令行提高工作效率的实例
Aug 14 Python
pygame实现贪吃蛇游戏(上)
Oct 29 Python
pyinstaller打包程序exe踩过的坑
Nov 19 Python
关于Python turtle库使用时坐标的确定方法
Mar 19 Python
python爬虫爬取快手视频多线程下载功能
Feb 28 #Python
python爬取m3u8连接的视频
Feb 28 #Python
python实现m3u8格式转换为mp4视频格式
Feb 28 #Python
浅谈Python中的私有变量
Feb 28 #Python
python中logging包的使用总结
Feb 28 #Python
深入理解Python爬虫代理池服务
Feb 28 #Python
python实现装饰器、描述符
Feb 28 #Python
You might like
php daddslashes()和 saddslashes()有哪些区别分析
2012/10/26 PHP
使用淘宝IP库获取用户ip地理位置
2013/10/27 PHP
php redis实现文章发布系统(用户投票系统)
2017/03/04 PHP
NodeJS学习笔记之网络编程
2014/08/03 NodeJs
javascript实现切换td中的值
2014/12/05 Javascript
原生js结合html5制作简易的双色子游戏
2015/03/30 Javascript
Bootstrap入门书籍之(四)菜单、按钮及导航
2016/02/17 Javascript
JavaScript制作颜色反转小游戏
2016/09/25 Javascript
利用Node.JS实现邮件发送功能
2016/10/21 Javascript
React如何将组件渲染到指定DOM节点详解
2017/09/08 Javascript
利用JavaScript的%做隔行换色的实例
2017/11/25 Javascript
全新打包工具parcel零配置vue开发脚手架
2018/01/11 Javascript
使用js实现将后台传入的json数据放在前台显示
2018/08/06 Javascript
React key值的作用和使用详解
2018/08/23 Javascript
vue计算属性get和set用法示例
2019/02/08 Javascript
vue-devtools的安装和使用步骤详解
2019/10/17 Javascript
Sanic框架路由用法实例分析
2018/07/16 Python
pytorch 数据集图片显示方法
2018/07/26 Python
OpenCV+python手势识别框架和实例讲解
2018/08/03 Python
Python中类的创建和实例化操作示例
2019/02/27 Python
50行Python代码获取高考志愿信息的实现方法
2019/07/23 Python
利用CSS3实现圆角的outline效果的教程
2015/06/05 HTML / CSS
CSS3径向渐变之大鱼吃小鱼之孤单的大鱼
2016/04/26 HTML / CSS
中国跨境电商:Tomtop
2017/03/16 全球购物
英国打印机墨水和碳粉商店:Printerinks
2017/06/30 全球购物
南非最大的在线时尚商店:Zando
2019/07/21 全球购物
俄罗斯建筑和装饰材料在线商店:Stroilandia
2020/07/25 全球购物
Order by的几种用法
2013/06/16 面试题
公司总经理工作职责管理办法
2014/02/28 职场文书
大学生个人简历自我评价
2015/03/11 职场文书
稽核岗位职责范本
2015/04/13 职场文书
2015年保险公司工作总结
2015/04/24 职场文书
2016年优秀共产党员先进事迹材料
2016/02/29 职场文书
python操作xlsx格式文件并读取
2021/06/02 Python
Golang生成Excel文档的方法步骤
2021/06/09 Golang
Java对文件的读写操作方法
2022/04/29 Java/Android