1.打开文件:
#!/usr/local/bin/python3.5 filename = "fileop1.file" fd = open(filename, ‘a‘, encoding=‘utf-8‘) #模式默认是读模式 ‘‘‘ 另外一种打开文件方式 with 方式 当with代码块执行完毕时,内部会自动关闭并释放文件资源 ‘‘‘ with open(filename, ‘r‘) as fd: ...
2.文件打开模式
默认是只读方式
‘r‘ # 以只读方式打开文件(默认) ‘w‘ # 以写入的方式打开文件,会覆盖已存在的文件 ‘x‘ # 如果文件已经存在,使用此模式打开将引发异常 ‘a‘ # 以写入模式打开,如果文件存在,则在末尾追加写入 ‘b‘ # 以二进制模式打开文件 ‘t‘ # 以文本模式打开(默认) ‘+‘ # 可读写模式(可添加到其他模式中使用) ‘U‘ # 通用换行符支持
r 只读,r+ 读写,不创建
w 新建只写,w+ 新建读写,二者都会将文件内容清零
a,a+ 附加方式打开 a:附加写方式打开,不可读;a+: 附加读写方式打开
w+与r+区别:
r+:可读可写,若文件不存在,报错;w+: 可读可写,若文件不存在,创建;
r+与a+区别:
r+默认指针位置会覆写之前存在内容
不可读的打开方式:w和a
若不存在会创建新文件的打开方式:a,a+,w,w+
3.文件读写操作
fd.read()
fd.write()
逐行读取:
for line in fd: print(line) #把文件转换成了迭代器,不会让数据一直放在内存里,比较安全高效
操作文件读写指针:
f.tell() #返回指针的位置 f.read(n) #读n个,指针也移动多少 f.seek() #0 返回文件初始
4.flush方法
f.flush() #强制刷新到硬盘 #进度条方法: import sys,time for i in range(10): sys.stdout.write("#") sys.stdout.flush() time.sleep(0.1)
5.truncate方法
f.truncate(n) #从头截断n个字符,其余删掉