文件的操作
f.close()
关闭文件,python拥有垃圾收集机制,但在文件操作里有写入操作时,需要及时关闭文件。因为python会缓存写入的数据,如果中途断电之类情况,缓存的数据不会写入文件中,只有在关闭文件时才能写入
f.read(size)
从文件读取size个字符,当未给定size或给定负值的时候,读取剩余的所有字符,然后作为字符串返回。
读取一次后,下次读取接着上次读取的位置开始读取,不再从头开始。
报错:‘gbk’ codec can’t decode byte 0x80 in position 2: illegal multibyte sequence
解决方法:
①中文字符以编码形式显示,舍弃
f = open('order.log','rb')
②中文字符正确显示
f = open('order.log','r', encoding='UTF-8')
f.readline()
逐行读取
f.write(str)
将字符串str写入文件
f.writelines()
向文件中写入一序列的字符串。
这一序列字符串可以是由迭代对象产生的,如一个字符串列表。
换行需要制定换行符 \n。
f.seek(offset,from)
在文件中移动文件指针,从from(0代表文件起始位置,1代表当前位置,2代表文件末尾)偏移offset个字节
如果操作成功,则返回新的文件位置,如果操作失败,则函数返回 -1。
f.tell()
返回当前在文件中的位置
逐行输出Python
for each_line in f:
print(each_line)