【问题标题】:File permissions with python使用python的文件权限
【发布时间】:2012-12-28 00:01:32
【问题描述】:

我在 Windows 网络驱动器上有一个要读取和写入的 xml 文件。我拥有正常编辑文件的完全权限(在 gedit 或任何东西中),但是当我尝试在 python 中解析 xml 文件时,出现权限错误。有什么想法吗?

这是我正在尝试做的一个示例:

from xml.etree import ElementTree as ET
file = "/directory/to/xml/file"
nfo = ET.parse(file)

然后我从文件中读取信息并写入文件。尝试写入文件时挂起(即使我使用 gedit 时,我也可以正常写入文件)

我得到的错误是:

Traceback (most recent call last):
  File "parser.py", line 277, in <module>
    nfo.write(file)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 803, in write
    file = open(file_or_filename, "wb")
IOError: [Errno 13] Permission denied: '/directory/to/xml/file'

【问题讨论】:

  • 你能发布一些代码,也许是实际的错误信息吗?
  • 很抱歉。我发布了一个包含错误的缩短版本
  • 您是否尝试过消除您用于安装 Windows 网络驱动器的任何方法?例如,将文件复制到桌面并尝试针对该位置运行 Python 脚本。
  • 谢谢!会检查出来! :-)

标签: python permissions operating-system


【解决方案1】:
  1. 如果您是文件所有者,您确定 gedit 不会忽略缺少写权限吗? vim 可以做到这一点,也许 gedit 也可以?我会从简单的ls -l /directory/to/xml/file 开始。

  2. 您可以随时使用strace -f /path/to/your_program.py,这应该会为您提供有关 python 运行时实际尝试的更多信息。

【讨论】:

    猜你喜欢
    • 2015-06-13
    • 2018-01-20
    • 2010-10-28
    • 1970-01-01
    • 2015-02-14
    • 2010-12-24
    • 1970-01-01
    • 2011-11-05
    • 2014-06-16
    相关资源
    最近更新 更多