标签:seek 理解 区别 只读 模式 lan else 读取 table
打开文件的常用模式有:"+" 表示可以同时读写某个文件
模式 | 可做操作 | 若文件不存在 | 是否覆盖 | 指针位置 |
---|---|---|---|---|
r | 只能读 | 报错 | - | 0 |
r+ | 可读可写 | 报错 | 否 | 0 |
w | 只能写 | 创建 | 是 | 0 |
w+ | 可写可读 | 创建 | 是 | 0 |
a | 只能写 | 创建 | 否,追加写 | 最后 |
a+ | 可读可写 | 创建 | 否,追加写 | 最后 |
可以作个测试文件,修改下打开模式,然后输出看下指针区别
f=open(‘I:\\python\\test\\text.txt‘,‘r+‘)
print(‘指针在:‘,f.tell())
lines=f.read()
if f.writable():
f.write(‘nono\n‘)
else:
print("此模式不可写")
print(‘指针在:‘,f.tell())
f.close()
a+模式下,虽然能读取,但指针已到最后,直接read,不会出内容,可以用seek()重置指针
f=open(‘I:\\python\\test\\text.txt‘,‘a+‘)
print(‘指针在:‘,f.tell())
lines=f.read()
print(‘文件内容是:‘,lines) #输出为空
print(‘seek 0‘)
f.seek(0)
print(‘指针在:‘,f.tell())
lines=f.read()
print(‘文件内容是:‘,lines)
if f.writable():
f.write(‘nono\n‘)
else:
print("此模式不可写")
print(‘指针在:‘,f.tell())
f.close()
标签:seek 理解 区别 只读 模式 lan else 读取 table
原文地址:http://blog.51cto.com/2884868/2071121