关于文件打开的问题
f = open('test.txt','a+') #问题在这里的a+for each_line in f:
print(each_line)
f.close()
这个test.txt里面是有内容的,但是为什么用‘a+’读取不出来而用‘r’就可以读取出来呢? 因为以 'a+' 模式打开文件指针是位于文件末尾的,所以读不出数据,
你得把文件指针移到开头:
f = open('test.txt','a+')
f.seek(0) # 把指针移到文件开头
for each_line in f:
print(each_line)
f.close() isdkz 发表于 2022-3-24 21:22
因为以 'a+' 模式打开文件指针是位于文件末尾的,所以读不出数据,
你得把文件指针移到开头:
哦~明白了 我再追问一个问题,既然‘+’,是可读写模式,是不是我可以用‘r+’来代替‘w’和‘r’呢? Jerry~Mouse 发表于 2022-3-24 21:27
哦~明白了 我再追问一个问题,既然‘+’,是可读写模式,是不是我可以用‘r+’来代替‘w’和‘r’呢?
r+:可读写,指针位于文件开头,(w+,可读写,指针位于文件开头,不过会清空原文件数据,这时候读没有多大意义)
w: 可写不可读,指针位于文件开头,
r: 可读不可写,指针位于文件开头
他们的区别,能不能替代看应用场景 isdkz 发表于 2022-3-24 21:34
r+:可读写,指针位于文件开头,(w+,可读写,指针位于文件开头,不过会清空原文件数据,这时候读没有多 ...
好的 明白了 谢谢指点
页:
[1]