python可以同时对文件进行读写操作吗

刚学习python文件操作,好奇有没有办法同时对文件进行读写操作?
我试着同时用‘r’和‘w‘方法打开了文件,但是如果进行write()操作之后,文件内容会被清空

阅读 26.6k
3 个回答

'w' 表示建立文件,如果存在就清空成空文件。'w+' 就是 'w' 加上读操作的能力。'a' 是追加,'a+' 就是 'a' 加上读操作的能力。'r' 是读取文件,'r+' 就是可读可写。

不过除非你真正明白你在做什么,不要同时读写文件,因为结果通常不是你想要的(特别是 Python 2 + Windows 还有你意想不到的行为)。

建议先阅读手册 man 3 fopen 及 man 2 open。

你们人类所说的"同时"是不存在的.存在的是能在一个文件句柄下进行读或者写.
w+是会覆盖原文件的.你可以读,但是这时文件中是没有内容给你读的.
你可以写一些内容进去再读出来.
>>>` open("a.txt","w+").read()
''`
>>> open("test.txt","w+").read()
''

w+
r+
a+

"w+"可以让你文件原来的内容不被“清空”,但你当你往文件中写数据时,写入位置处原来的数据肯定会被“覆盖”。所以,你要考虑清楚,你所说的“同时读写”到底是个什么场景,你预期的行为是什么。

推荐问题
宣传栏