Seite 1 von 1

.xml öffnen generiert einen Fehler

Verfasst: Freitag 25. November 2005, 17:29
von hick_reichelt
guten Abend,

folgender Code:

Code: Alles auswählen

from xml.dom import minidom
xmldoc = minidom.parse('~/binary.xml')
xmldoc

generiert mir folgenden Fehler:

Code: Alles auswählen

Traceback (most recent call last):
  File "LoadPrint.py", line 3, in ?
    xmldoc = minidom.parse('~/binary.xml')
  File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/xml/dom/minidom.py", line 1915, in parse
    return expatbuilder.parse(file)
  File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/xml/dom/expatbuilder.py", line 922, in parse
    fp = open(file, 'rb')
IOError: [Errno 2] No such file or directory: '~/binary.xml'

Ich habe bereits versucht, das .xml file anderswo zu platzieren oder umzubenennen und es generiert immer denselben Fehler.


Hat jemand eine Ahnung,

vielen Dank für die Hilfe,


MfG


Hick

Edit (Leonidas): Code in Python-Tags gesetzt, Trackback in Code-Tags.

Verfasst: Freitag 25. November 2005, 19:06
von jens
Pack es doch erstmal direkt zum Skript und binde es statt mit '~/binary.xml' einfach nur mit 'binary.xml' ein...

Verfasst: Samstag 26. November 2005, 07:32
von BlackJack
Alternativ könnte man auch in dem Verzeichnis wo das Skript liegt auch ein Verzeichnis mit dem Namen '~' anlegen und darin dann die XML Datei ablegen. Dann funktioniert auch '~/binary.xml' als Dateiname.

Mal im ernst '~' ist einfach genau dieses Zeichen. Die Sonderbedeutung das es durch den Pfad zum Heimatverzeichnis des aktuellen Benutzers ersetzt wird, gibt's nur in der Shell. In Python musst Du es explizit ersetzen (lassen):

Code: Alles auswählen

In [4]: os.path.expanduser('~/test.txt')
Out[4]: '/home/bj/test.txt'

Verfasst: Samstag 26. November 2005, 10:37
von Gast
Guten Tag Kameraden,

@jens,

vielen Dank für den Tipp, habe ich ausprobiert und es funktioniert. .xml-Datei im selben Folder wie das Skript.

@BlackJack,

vielen Dank auf für Deinen Tipp, stimmt natürlich, dass '~' nur das Zeichen '~' ist.


@all,

ich habe nochmals den Absoluten (den voll ausgeschriebenen Pfad) versucht, doch da scheint es Probleme zu geben. derselbe Fehler taucht auf. Bitte weiterhin Tipps, oder Erfahrungsberichte, vielen Dank für alle Hilfe,




einen schönen Morgen wünscht,

Hick Reichelt

Verfasst: Samstag 26. November 2005, 12:50
von jens
Anonymous hat geschrieben:ich habe nochmals den Absoluten (den voll ausgeschriebenen Pfad) versucht, doch da scheint es Probleme zu geben.
Also dann muß irgendwas mit dem Pfad nicht stimmen. Prüfe doch mal den Pfad mit os.path.isdir() und danach, die Datei mit os.path.isfile()...