- # 打开方式
r:以只读方式打开文件
rb:以二进制格式打开文件用于只读
r+:以读写方式打开
rb+:以二进制方式打开并读写文件
w:以只写方式打开文件,如果文件已存在则会被覆盖,不存在则会新建一个文件
w+:以读写方式打开文件,如果文件已存在则会被覆盖,不存在则会新建一个文件
wb+:以二进制方式打开并读写文件,如果文件已存在则会被覆盖,不存在则会新建一个文件
a:打开文件向文本追加新内容,如果文件已存在则会被覆盖,不存在则会新建一个文件
a+:以二进制方式打开文件向文本追加新内容,如果文件已存在则会被覆盖,不存在则会新建一个文件
- # file 对象方法
file.read([size]):size 未指定则返回整个文件,如果文件大小 >2 倍内存则有问题,f.read()读到文件尾时返回""(空字串)。
file.readline():返回一行。
file.readlines([size]) :返回包含size行的列表, size 未指定则返回全部行。
for line in f: print line :通过迭代器访问。
f.write("hello\n"):如果要写入字符串以外的数据,先将他转换为字符串。
f.tell():返回一个整数,表示当前文件指针的位置(就是到文件头的比特数)。
f.seek(偏移量,[起始位置]):用来移动文件指针。
偏移量: 单位为比特,可正可负
起始位置: 0 - 文件头, 默认值; 1 - 当前位置; 2 - 文件尾
f.close() 关闭文件
- # 实列
# 文件读
def demo1():
# r: 以只读方式打开文件
with open('test','r',encoding='utf-8',errors='ignore')as f: # errors='ignore' 遇见错误忽视 encoding='utf-8': 指定读取的编码为utf-8
print(f.read())
# 读取二进制文件, 比如视频和图片
def demo2():
with open('test', 'rb')as f:
f.read()
# 写文件
def demo3():
with open('test', 'w',encoding='utf-8')as f:
f.write('Hello, world!')