ich ein Python-Programm in der Lage habe Dateien zu lesen lokal gerade fein:Python lesen: Datei nicht gefunden, wenn absoluten Pfad
Im Verzeichnis, in dem ich dieses Programm habe, gibt es eine Datei namens path_list (es ist eine Liste von Dateipfaden), und ich kann es wie so öffnen und Zugang:
test_explicit = open('path_list').read()
print 'Reading local file gives: ' + test_explicit
Dann wird das Programm in einer Schleife durch diese Wege zu gehen und auf jedem Weg die folgende Funktion aufrufen, Dinge zu tun, auf das, was es in der findet Versionsverzeichnis oben. Unglücklicherweise, hier, wenn ich absolute Pfade anstelle von relativen Pfaden habe, geben diese gleichen offenen/gelesenen Operationen 'Keine solche Datei oder Verzeichnis' Fehler. (Aber wenn ich ausdrücke, wohin es geht und ls dort, sehe ich die Inhalte, die ich erwarte).
Hier ist der relevante Teil meiner Code:
def getCommand(path):
# grab that trailing /version, strip the v, convert to int
split_path = path.split("/")
version = split_path.pop()
version_num = int (version[1:])
# increment that number, and remake path with a fresh /v(x+1) suffix
version_num += 1
new_suffix = '/v' + str(version_num)
higher_file_path = '/'.join(split_path)
higher_file_path += new_suffix
finished_filename = 'finished.txt'
finished_filepath = os.path.join(higher_file_path, finished_filename)
result = open(finished_filepath).read()
print 'Result is: ' + result
[more code]
Als ich es betreibe ich einen Fehler auf der Linie erhalten mit open
und read()
:
IOError: [Errno 2] No such file or directory: '~/scripts/test/ABC/v4/finished.txt'
Aber wenn ich ls
oder cd
da ich sehe die Datei.
'~' wird von der OS-Shell erweitert. Die Funktion 'read()' verwendet die Shell nicht zum Öffnen von Dateien und kann die Erweiterung nicht ausführen. Sie müssen einen Pfad, der mit einem '~' beginnt, zuerst in den absoluten Pfad konvertieren. – DyZ
Ich liege falsch - das war es - danke! –