IOError:[Errno 13] 权限被拒绝:

Posted

技术标签:

【中文标题】IOError:[Errno 13] 权限被拒绝:【英文标题】:IOError: [Errno 13] Permission denied: 【发布时间】:2011-06-11 19:39:09 【问题描述】:

我已构建此代码来专门识别 .XML 文件的负载并从这些文件中提取坐标。这是我的代码:

from xml.etree import ElementTree as ET
import sys, string, os, arcgisscripting
gp = arcgisscripting.create(9.3)

workspace = "D:/J040083"
gp.workspace = workspace

for root, dirs, filenames in os.walk(workspace): # returms root, dirs, and files
    for filename in filenames:
        filename_split = os.path.splitext(filename) # filename and extensionname (extension in [1])
        filename_zero = filename_split[0]
        extension = str.upper(filename_split[1])

        try:
            first_2_letters = str.upper(filename_zero[0] + filename_zero[1])
        except:
            first_2_letters = "XX"

        if first_2_letters == "LI" and extension == ".XML":
            tree = ET.parse(workspace)
            print tree.find('//http://www.opengis.net/gmllowerCorner').text
            print tree.find('//http://www.opengis.net/gmlupperCorner').text

我遇到了错误:

Message File Name   Line    Position    
Traceback               
    <module>    D:\J040083\TXT_EXTRACTION.py    32      
    parse   C:\Python25\Lib\xml\etree\ElementTree.py    862     
    parse   C:\Python25\Lib\xml\etree\ElementTree.py    579     
IOError: [Errno 13] Permission denied: 'D:/J040083'     

我绝对可以访问这个文件夹!我也尝试过创建新的空文件夹并在其中只放置一个 .xml 文件,但我得到了同样的错误!有谁知道出了什么问题?

【问题讨论】:

您能告诉我们TXT_EXTRACTION.PY 脚本中的第32 行包含什么吗?问题中的文本框没有那么多行。 【参考方案1】:

也许你只需要用\而不是/写文件路径:

workspace = "D:\\J040083"

或者,没有反斜杠转义为原始字符串:

workspace = r"D:\J040083"

【讨论】:

我已经尝试了 \\ 或 / 甚至 // 的所有组合(只是在这里抓着稻草!) 使用 os.filesep 的值来构建该路径。【参考方案2】:

你需要换行

tree = ET.parse(workspace)

tree = ET.parse(filename)

因为工作空间是一个目录,而 parse 方法需要一个文件名。

【讨论】:

以上是关于IOError:[Errno 13] 权限被拒绝:的主要内容,如果未能解决你的问题,请参考以下文章

Python 2.7 smtplib 如何发送带有错误 13 权限的附件被拒绝?

apache配置中的权限被拒绝:[Errno 13]权限被拒绝

PermissionError:[Errno 13] 权限被拒绝:

OSError - Errno 13 权限被拒绝

PermissionError: [Errno 13] 权限被拒绝

Pillow Image.save() [Errno 13] 权限被拒绝