Hi,
ich bin erst seit kurzem ein Anwender von Python und Unix brauche beides für meine Diplomarbeit. Ich habe zur Zeit folgendes Problem: ich möchte eine Datei öffnen und Zahlen daraus auslesen und weiterverarbeiten. ich habe zwar die anweisung: datei=open("filename") gefunden, weiß aber nicht wie ich ihm beibringe eine bestimmte datei zu öffnen. muss die an einem bestimmten ort stehen um das programm mit
..python dateiöffnen.py filename.. zu nutzen?
file auslesen in unix/linux
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Code: Alles auswählen
filename = "bsp.txt"
f = file( filename, "r" )
lines = f.read().split("\n")
f.close
for line in lines:
print line
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Code: Alles auswählen
import sys
f = file(sys.argv[1], 'r')
for line in f:
print line
f.close()
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
danke für die schnelle antwort, klappt aber beides noch nicht. bei ersten sagt er:
filename="vm"
syntax error
und beim zweiten:
nameerror: file.
fehlt da vielleicht ein verweis auf den pfad der auszulesenden datei(vm)?
filename="vm"
syntax error
und beim zweiten:
nameerror: file.
fehlt da vielleicht ein verweis auf den pfad der auszulesenden datei(vm)?
Code: Alles auswählen
import os
filename=os.path.join("../ordner/unterordner/vm")
f = file( filename, "r" )
lines = f.read().split("\n")
f.close
for line in lines:
print line
sagt er:
Code: Alles auswählen
File "open.py", line 5
filename="vm"
SyntaxError: invalid Syntax
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
os.path.join() ist hier auch überflüssig, das ist dafür um mehrere Pfad-Teile zusammen zu packen...
Aber ist vm auch eine Datei???
Probier mal das hier:
Aber ist vm auch eine Datei???
Probier mal das hier:
Code: Alles auswählen
import os, sys
filename= "../ordner/unterordner/vm"
if not os.path.isfile( filename ):
print "Datei [%s] existiert nicht!" % filename
sys.exit()
f = file( filename, "r" )
lines = f.read().split("\n")
f.close
for line in lines:
print line
meckert immer noch am filename="../.."
scheint ein grundlegendes problem zu sein
scheint ein grundlegendes problem zu sein
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Weil nur ein Argument angegeben...
Mit os.path.join() kannst du folgendes machen:
Ausgabe:
Poste mal die gesammte Traceback-Meldung von Python!!!
Mit os.path.join() kannst du folgendes machen:
Code: Alles auswählen
verz = "../ordner/unterordner"
datei = "beispiel.txt"
filename = os.path.join( verz, datei )
print filename
Code: Alles auswählen
../ordner/unterordner/beispiel.txt
Also ich hab keinerlei Probleme. Meine Python Datei liegt in einem Unterverzeichnis der Textdatei (zb in ~/Test/). Sie hat den Aufbau:
Die Textdatei mit dem namen text.test.txt liegt im root-verzeichnises des Programms (z.b. ~). Folgender Inhalt:
Ausgabe:
du weißt schon das der Befehl ../ in das darüberliegende Verzeichnis wechselt, wenn also die .py Datei im Verzeichnis /ABC/DEF/GHI/Test.py liegt, dann öffnet der Befehl open("../vm") die Datei /ABC/DEF/vm und nicht /ABC/DEF/GHI/vm.
Code: Alles auswählen
f = open("../text.test.txt","r")
inh = f.readlines()
f.close()
for line in inh:
print line
Code: Alles auswählen
Lala
ASAS
Wedew
werfdds
Code: Alles auswählen
Lala
ASAS
Wedew
werfdds
Funktioniert! Problem war glaube ich die Pfadeingabe. Da mein zugriff auf dieser maschine limitiert ist habe ich glatt übersehen, dass mein working dirctory noch 2 Stufen unter dem root dirctory liegt. Danke für die Unterstützung.