为了账号安全,请及时绑定邮箱和手机立即绑定

r+模式与a+模式打开有什么区别?w与w+打开又有什么区别

a+和r+打开,可读可写,写的时候也是在文段末尾添加,它们两个有什么区别?

w+虽然有读权限,但是打开的时候内容就被清空了,读的意义在哪里?跟w没区别了耶。

是我哪里理解得不好

正在回答

2 回答

如果你仅仅是读:r+就可以读取到原文件内容(使用read);a+是追加模式,读的时候是将指针已经放在文件末尾了,所以读取到的文件是空的。

如果你仅仅是写:r+是从头开始写的,你写了多少就会覆盖原文件多少;a+因为指针已经放在文件末尾了,所以你写额时候自然就是追加在后面的。

如果你是先读在写:这样就有点麻烦了。r+当你使用read读完之后再使用write写的时候,指针已经在文件末尾了,所以你再写的时候就感觉是追加在末尾似的。a+因为你先读的时候指针已经在末尾了你自然就读不到任何内容。


至于你说的w和w+我的理解这是这样的:如果你使用w打开文件你读的时候是会报错的;而使用w+的时候虽然文件被清除,但是是有读权限的。至于拥有读的权限有什么作用还不是很了解。

2 回复 有任何疑惑可以回复我~

a+可读可写,追加内容;

r+可读可写,覆盖内容;

w+可读可写,情况内容,但是它的意义是可以边写边读啊,w只能写,不能读。

你可以直接执行下面的例子:

f=open('testPythonFile.txt','w+')

f.write('1234567890-')

f.flush()

f.seek(0)

str= f.readline() #写完了,我还能读取

print str

f.close();


1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

r+模式与a+模式打开有什么区别?w与w+打开又有什么区别

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信