2017-10-30 2 views
0

Ich möchte eine Textdatei auf Windows von Python lesen. Ich habe das schon millionenfach auf einem Mac-Terminal gemacht, habe aber gerade begonnen, Windows zu benutzen. Das erste, was ist es, die Datei zu öffnen:Wie öffne ich eine Datei unter Windows für Python? mit unerwarteten Problemen

file = open("C:\users\lbryan05\documents\Training\python\Lynda\ch 2\words.txt",  'r') 

, die den Syntaxfehler gibt:

Syntaxerror: (Unicode-Fehler) 'unicodeescape' Codec kann nicht Bytes in Position dekodieren 2-3: abgeschnitten \ uXXXX entkommen

ich sammelte etwas Seltsames geschieht mit \ u so habe ich versucht, eine r vor dem Weg setzen die Schrägstriche alle zu verdoppeln:

file = open(r"C:\users\lbryan05\documents\Training\python\Lynda\ch 2\words.txt",  'r') 

aus dieser also ich, dass ‚kein su ch Verzeichnis existiert '. Ich finde Fenster ist dumm und verbirgt Dateierweiterungen, so dass ich nur words.txt ausgeben muss. Danach bin ich von folgendem Fehler überrascht:

PermissionError: [Errno 13] Berechtigung verweigert: "Pfad".

, was für mich keinen Sinn ergibt, warum ich keine Berechtigung für die Datei hätte, weil ich sicher darauf zugreifen kann. Ich führe Python über Windows Powershell (und Sublime).

+0

Sie erhalten "PermissionError: [Errno 13] Zugriff verweigert: ""." Path Fehler, wenn Sie versuchen, ein Verzeichnis anstelle einer Datei zu öffnen. Ihr zweiter Befehl sollte funktionieren. Bitte überprüfen Sie, ob Sie die Datei an diesem Ort haben. – Abhijeetk431

+0

Sie können entkommen \ leicht einen zweiten Backslash hinzufügen. 'something \ user' ist gleich' something \ user', aber escapeed, so dass Sie keine Unicode-Fehler bekommen. – Saelyth

Antwort

0

Wenn die Datei nicht zu groß ist, schlage ich vor, die Datei auf dieser Variablen zu speichern, dann die gewünschten Änderungen auf Python vorzunehmen und dann die gesamte Datei mit den edited-Daten zu speichern, mit 'w' Parameter in die Datei.

Versuchen Sie folgendes:

# Open file to read it, and store it in a var. 
with open("C:\\users\\lbryan05\\documents\\Training\\python\\Lynda\\ch 2\\words.txt", 'r') as f: 
    file_content = f.read() 
# Do something with that var, manipulate it like you want 
file_content = file_content + "test" 
# Open file to write on it, and write your manipulated var. 
with open("C:\\users\\lbryan05\\documents\\Training\\python\\Lynda\\ch 2\\words.txt", 'w') as w: 
    w.write(file_content) 
Verwandte Themen