gpt4 book ai didi

python - 打开文件进行随机写入而不截断?

转载 作者:太空狗 更新时间:2023-10-29 17:33:26 25 4
gpt4 key购买 nike

在 python 中,打开文件进行操作时可以提供一些标志。我有点困惑,无法找到允许我随机写入而不截断的组合。我要找的行为等价于C:不存在就创建,否则就打开写(不截断)

打开(文件名,O_WRONLY|O_CREAT)

Python 的 document令人困惑(对我来说):"w" 将首先截断文件,"+" 应该意味着更新,但是 "w+"无论如何都会截断它。有没有办法在不求助于低级 os.open() 接口(interface)的情况下实现这一点?

注意:"a""a+" 也不起作用(如果我在这里做错了,请更正)

cat test.txt
eee

with open("test.txt", "a+") as f:
f.seek(0)
f.write("a")
cat test.txt
eeea

是不是append模式一定要写到最后?

最佳答案

你可以用 os.open 来做:

import os
f = os.fdopen(os.open(filename, os.O_RDWR | os.O_CREAT), 'rb+')

现在你可以在文件中间读、写、查找等等。并创建文件。在 Python 2 和 3 上测试。

关于python - 打开文件进行随机写入而不截断?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28918302/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com