一、打开文件
文件句柄 = file('文件路径', '模式')
注:python中打开文件有两种方式,即:open(...) 和 file(...) ,本质上前者在内部会调用后者来进行文件操作,推荐使用 open。
打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作。
打开文件的模式有:
- 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
二、操作
close() #关闭文件fileno() #文件描述符 flush() #刷新文件内部缓冲区 isatty() #判断文件是否是同意tty设备 next() #获取下一行数据,不存在,则报错read() #读取指定字节数据readinto() #读取到缓冲区,不要用,将被遗弃readline() #仅读取一行数据readlines() #读取所有数据,并根据换行保存值列表seek(offset, whence=None) #指定文件中指针位置tell() #获取当前指针位置truncate(size=None) #截断数据,仅保留指定之前数据write(p_str) #写内容writelines(sequence_of_strings) #将一个字符串列表写入文件xreadlines(self) #可用于逐行读取文件,非全部
三、with
为了避免打开文件后忘记关闭,可以通过管理上下文,即:
with open('log','r') as f: ...
如此方式,当with代码块执行完毕时,内部会自动关闭并释放文件资源。
在Python 2.7 后,with又支持同时对多个文件的上下文进行管理,即:
with open('log1') as obj1, open('log2') as obj2: pass