Python 文件的基本操作
打开文件的模式有:
- r,只读模式(默认)。
- w,只写模式。【不可读;不存在则创建;存在则删除内容;】
- a,追加模式。【可读; 不存在则创建;存在则只追加内容;】
"+" 表示可以同时读写某个文件
- r+,可读写文件。【可读;可写;可追加】
- w+,写读
- a+,同a
"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)
- rU
- r+U
"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)
- rb
- wb
- ab
文件修改
因为文件的读写限制,若相对文件进行修改。
思路:打开文件(只读r),创建新文件(w),读取原文件,对其循环查找需要修改的行,并写入新文件中。关闭文件。
问题;使用spyder不能够完成内容正常写入新文件中
解决方法:
1.起初认为可能是文件数量没有达到写入内存的要求,执行f.flush后,仍旧不能写入。
2.可能spyder中有某种设置,使用单独Python3.5进行检测。写入成功。
程序一:
#实现简单的shell和sed替换
with语句
为了避免打开文件后忘记关闭,可以通过管理上下文,当with代码块执行完毕时,内部会自动关闭并释放文件资源。
Python2.7之后with可以同时打开多个文件,可以同时对多个文件的上下文进行管理。
1 #文件with语句,防止忘记关闭文件,占用不必要的内存.文件执行完后自动关闭 2 #f = open("filetext2",'r',encoding='GBK') 3 with open("filetest.txt",'r',encoding='GBK') as f\ 4 open("filetest.txt",'r',encoding='GBK') as f2: 5 for line in f: 6 print(line)