IOError: [Errno 13] le refus d'une Autorisation:
J'ai construit ce code d'identification d'une charge .Fichiers XML et d'en extraire des coordonnées de ces fichiers. Voici mon code:
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/gml}lowerCorner').text
print tree.find('//{http://www.opengis.net/gml}upperCorner').text
Je vais avoir des ennuis avec une erreur:
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'
Je certainement ne ont accès à ce dossier! J'ai aussi essayé de faire des nouvelles, des dossiers vides et de mettre un seul .fichier xml de là, mais je reçois la même erreur! Quelqu'un aurait-il une idée de ce qui a mal tourné?
Pouvez-vous nous dire ce que la ligne 32, contient, dans le TXT_EXTRACTION.PY script? La zone de texte de la question n'a pas que de nombreuses lignes.
OriginalL'auteur Alice Duff | 2011-01-19
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de changer la ligne
à
en raison de l'espace de travail est un répertoire et de la méthode d'analyse prend un nom de fichier.
workspace
est un répertoire.Génial!! Merci!!!! Il a travaillé!!
OriginalL'auteur Spaceghost
Peut-être vous avez juste besoin d'écrire le chemin d'accès du fichier avec
\
au lieu de/
:Ou sans barre oblique inverse échappe comme une chaîne brute:
Non, toujours exactement la même erreur!
Utiliser la valeur de l'os.filesep pour construire ce chemin.
OriginalL'auteur sth