.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.
hick_reichelt

.xml öffnen generiert einen Fehler

Beitragvon hick_reichelt » Freitag 25. November 2005, 17:29

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
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Freitag 25. November 2005, 19:06

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

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
BlackJack

Beitragvon BlackJack » Samstag 26. November 2005, 07:32

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

Beitragvon Gast » Samstag 26. November 2005, 10:37

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
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Samstag 26. November 2005, 12:50

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

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd

Wer ist online?

Mitglieder in diesem Forum: jan.b