big*_*hat 179 python file-io file
有没有办法打开文件进行读写?
作为一种解决方法,我打开文件进行写入,关闭它,然后再次打开它进行读取.但是,有没有办法打开一个文件都阅读和写作?
Fli*_*imm 245
以下是您如何读取文件,然后写入文件(覆盖任何现有数据),而无需关闭和重新打开:
with open(filename, "r+") as f:
data = f.read()
f.seek(0)
f.write(output)
f.truncate()
Run Code Online (Sandbox Code Playgroud)
Alg*_*bra 152
总结 I/O 行为
| Mode | r | r+ | w | w+ | a | a+ |
| :--------------------: | :--: | :--: | :--: | :--: | :--: | :--: |
| Read | + | + | | + | | + |
| Write | | + | + | + | + | + |
| Create | | | + | + | + | + |
| Cover | | | + | + | | |
| Point in the beginning | + | + | + | + | | |
| Point in the end | | | | | + | + |
Run Code Online (Sandbox Code Playgroud)
和决策分支
小智 43
r+
是同时读写的规范模式.这与使用fopen()
系统调用没有什么不同,因为file()
/ open()
它只是这个操作系统调用的一个小包装器.
Art*_*nka 20
我尝试过类似的东西,它按预期工作:
f = open("c:\\log.log", 'r+b')
f.write("\x5F\x9D\x3E")
f.read(100)
f.close()
Run Code Online (Sandbox Code Playgroud)
哪里:
f.read(size) - 要读取文件的内容,请调用f.read(size),它读取一些数据并将其作为字符串返回.
和:
f.write(string)将string的内容写入文件,返回None.
此外,如果您打开有关读取和写入文件的Python教程,您会发现:
'r +'打开文件进行读写.
在Windows上,附加到模式的'b'以二进制模式打开文件,因此还有'rb','wb'和'r + b'等模式.