.xml öffnen generiert einen Fehler

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
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.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Pack es doch erstmal direkt zum Skript und binde es statt mit '~/binary.xml' einfach nur mit 'binary.xml' ein...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
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'
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
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

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()...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten