Pfad wird nicht erkannt.

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.
Antworten
Chrisx
User
Beiträge: 1
Registriert: Montag 23. Juli 2018, 10:20

Hallo Leute,

ich hoffe Ihr könnt mir weiterhelfen, ich hänge seit zwei Tagen daran fest, dass Python überhaupt erstmal den Datei Pfad auf meinem Rechner findet. Ich nutze Anaconda und starte darüber Python 3.6 bzw. möchte dann eher in Jupyter Notebook arbeiten. Habe jetzt bei beiden Umgebungen versucht.

Der Pfad auf meinem Rechner ist: 'C:\Users\Chris\Desktop\thesis Chris\Datensatz MA\

Als Code habe ich die folgende Zeile eingegeben: r_path = 'C:\\Users\Chris\Desktop\thesis Chris\Datensatz MA\\'

Daraufhin kommt die Fehlermeldung:

FileNotFoundError: [WinError 3] The system cannot find the path specified: 'C:\Users\Chris\Desktop\thesis Chris\Datensatz MA\data\\'

Nun weiß ich auch nicht so recht, ob ich einfach die Pfad als Code falsch eingebe oder, ob das Programm ein Problem hat den Pfad zu finden, durch die verschiedenen Umgebungen (Anaconda). Vielleicht hat jemand einen TIpp zu meinem Anfänger Problem. :)

Viele Grüße

Chris
Coder94
User
Beiträge: 6
Registriert: Donnerstag 21. Juni 2018, 12:26

Versuch es mal mit 'C:/Users/Chris/Desktop/thesis Chris/Datensatz MA'.
Kann mir vorstellen, dass er bei dem \ Probleme hat, weil z.B. ein \t vorkommt. das Problem kommt beim Öffnen von Dateinen auch mal vor.

z.B.

Code: Alles auswählen

>>> with open('C:\users\christoph.kolbeck\desktop\test.txt','r') as file:
...  print(file.read())
...
  File "<stdin>", line 1
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \uXXXX escape
>>> with open('C:/users/christoph/desktop/test.txt','r') as file:
...  print(file.read())
...
 BENUTZERNAME          
 
>>>
Das könnte daran liegen, dass du mit ' ..... ' einen String hast und mit \t dann einen tab im string.
Versuch es einfach mal.
"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." - John Woods
Benutzeravatar
ThomasL
User
Beiträge: 1378
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Nimm überall \\ und nicht nur am Anfang und am Ende

Code: Alles auswählen

r_path = 'C:\\Users\\Chris\\Desktop\\thesis Chris\\Datensatz MA\\'
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Benutzeravatar
pixewakb
User
Beiträge: 1413
Registriert: Sonntag 24. April 2011, 19:43

Ich nutze jetzt https://docs.python.org/3/library/pathlib.html und dazu finde ich das Tutorial hier ganz gut: https://medium.com/@ageitgey/python-3-q ... a072b58d5f

Mein Eindruck ist, dass dieses Modul viele Probleme löst, mit denen man sich vorher beschäftigen musste.
Coder94
User
Beiträge: 6
Registriert: Donnerstag 21. Juni 2018, 12:26

Du kannst auch einfach einen raw string verwenden.

Code: Alles auswählen

 r_path = r'C:\Users\Chris\Desktop\thesis Chris\Datensatz MA'
"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." - John Woods
Benutzeravatar
kbr
User
Beiträge: 1507
Registriert: Mittwoch 15. Oktober 2008, 09:27

@Chrisx: In Python-Strings dient der backslash-Character '\'als escape-Zeichen. Wenn Du keinen raw-String verwendest (dort wird kein escaping vorgenommen), musst Du zur Darstellung eines backslash diesen selbst escapen: '\\'. Besser aber, Du setzt Pfade mit os.path.join() zusammen.
Antworten