在Python中读写文件
我需要让一个文件在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 这个模式运行时,它又把文件设置回了只读。