【问题标题】:Read/Write files in Python在 Python 中读/写文件
【发布时间】:2011-08-12 09:45:52
【问题描述】:

我需要在 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

很明显,它不会使文件读/写。然后我检查文件权限,它仍然是只读的。

任何想法为什么会失败,或者是否有更简单的方法可以做到这一点?

【问题讨论】:

  • @RestRisiko 如何判断它是否被锁定?

标签: python file file-io permissions


【解决方案1】:

我认为你只需要 stat.S_IWRITE 模式。 我刚刚用这段代码进行了测试

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

并且它将只读文件设置为非只读文件,而当我使用 S_IREAD 运行它时,它又将其设置回只读

【讨论】:

    【解决方案2】:

    确保您有权更改文件。谁是文件的所有者?是运行 Python 脚本的那个人吗?所有这些都必须考虑在内。

    【讨论】:

    • 它实际上是作为构建脚本的一部分运行的,该脚本具有对文件的完全访问权限。我在想,也许stat.S_IWRITE | stat.S_IREAD 实际上并没有像我认为的那样做,或者在 Windows 下这里发生了一些特定于操作系统的事情。
    猜你喜欢
    • 2011-12-02
    • 2013-06-21
    • 2010-09-16
    • 1970-01-01
    • 2021-07-15
    • 2012-07-12
    • 2012-11-12
    • 1970-01-01
    • 2021-06-26
    相关资源
    最近更新 更多