在Python中读写文件

10 投票
2 回答
4984 浏览
提问于 2025-04-16 16:22

我需要让一个文件在Python中可以读写。目前这个文件是只读的。我是在Windows电脑上操作的。我运行了以下代码:


os.chmod(projectPath, stat.S_IWRITE | stat.S_IREAD)

这个代码是针对一个需要读写的文件。但是当我尝试执行这个需要读写的文件时,我得到了以下信息:


ISDEV : fatal error -2200: Could not overwrite file C:\WINDOWS\Temp\STixInstaller\STixInstallShield.ism

所以很明显,这个代码没有让文件变成可读写的。我接着检查了文件的权限,发现它还是只读的。

有没有人知道为什么会这样,或者有没有更简单的方法可以做到这一点呢?

2 个回答

0

确保你有权限去修改这个文件。这个文件的拥有者是谁?是运行这个Python脚本的人吗?这些都需要考虑到。

6

我觉得你只需要用到 stat.S_IWRITE 这个模式。
我刚刚用下面的代码做了个测试

def main():
    path = "C:\\temp\\log.txt"
    os.chmod(path, stat.S_IWRITE)

结果是把一个只读文件变成了可以写的。而当我用 S_IREAD 这个模式运行时,它又把文件设置回了只读。

撰写回答