python problem

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
ad
User
Beiträge: 2
Registriert: Dienstag 16. März 2004, 14:51

Dienstag 16. März 2004, 16:11

hi ,

ich hab nen problem mit python.. ich hab grad erst begonnen mit der sprache .. beim "nachprogrammieren" eines scriptes bei welchem eine datei ausgelesen wird und dann der inhalt angezeigt werden sollte kam folgender fehler:

Code: Alles auswählen

>> pfad = "file:/user/home/"
dateiname = "test.py"
datei = pfad + dateiname
in_file = open ( datei , "r" )
Traceback (most recent call last):
  File "<input>", line 1, in ?
IOError: [Errno 2] Datei oder Verzeichnis nicht gefunden: 'file:/user/home/test.py'
der pfad etc stimmt aber alles drum weiss ich nicht wie der fehler zu stande kam.. hier ist der org txt des tuturials:

Code: Alles auswählen

pfad = "s:/wspiegel/info/dein_Verzeichnis_name/" # anpassen!!
   dateiname="datei_simpel.py"
   datei = pfad+dateiname
   in_file = open(datei,"r")
   text = in_file.read()
   in_file.close()
   print text
hoffe ihr koennt mir da weiterhelfen. danke.

mfg
ad
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Dienstag 16. März 2004, 17:17

Hi ad,

file:/user/home/test.py ist kein Pfad sondern eine URL.
mach entweder /user/home/test.py daraus, dann kannst du es mit open(datei,"r") bzw. file(datei,"r") öffnen oder oder du musst die urllib verwenden

Code: Alles auswählen

import urllib
pfad = "file:/user/home" # anpassen!!
dateiname="test.py"
datei = pfad+dateiname
in_file = urllib.urlopen(datei)
text = in_file.read()
in_file.close()
print text

Gruß

Dookie
ad
User
Beiträge: 2
Registriert: Dienstag 16. März 2004, 14:51

Dienstag 16. März 2004, 17:46

ok vielen dank das file:/ wegzulassen hat geholfen und den fehler behoben

Code: Alles auswählen

pfad = "/home/user/"
dateiname = "test.py"
datei = pfad + dateiname
pfad
'/home/user/'
datei
'/home/user/test.py'
in_file = open(datei,"r")
test = in_file.read()
in_file.close()
print test
a = 1
b = 2
c = 3
d = a + b + c
print d
mfg
ad
Antworten