Seite 1 von 1

Dateipfade unter Windows/Python

Verfasst: Dienstag 20. Dezember 2022, 13:46
von drnicolas
Unter Windows gibt man Pfade für gewöhnlich mit Backslashes an, also etwa "c:\\temp\wichtigerText.txt"

Wenn ich in meinem Python-Programm sowas angebe, dann scheint das nicht immer zu funktionieren, da zumindest "\t" als Tabulator erkannt zu werden scheint.

Gebe ich hingegen an 'c:/(temp/wichtiger.txt' dann scheint das zu funktionieren.

Wie gibt man unter Windows-Python Pfade richtig an.
Ich frage deshalb so blöd, weil ich ein anderes Problem habe, das ich momentan nicht gelöst kriege.

Re: Dateipfade unter Windows/Python

Verfasst: Dienstag 20. Dezember 2022, 13:56
von Sirius3
\ ist das Escapezeichen, deshalb muß \ escaped werden (\\). Um das Problem zu umgehen, kann man einfach auch / benutzen und hat dieses Problem erst gar nicht.

Re: Dateipfade unter Windows/Python

Verfasst: Dienstag 20. Dezember 2022, 14:49
von __blackjack__
Alternativ kann man auch ”rohe” Zeichenkettenliterale verwenden r"c:\\temp\wichtigerText.txt".

Re: Dateipfade unter Windows/Python

Verfasst: Dienstag 20. Dezember 2022, 14:52
von drnicolas
Pkay, danke.
Mein Problem scheinen nicht die Pfade selbst zu sein.

Re: Dateipfade unter Windows/Python

Verfasst: Dienstag 20. Dezember 2022, 14:58
von Axel-WAK
Man kann den Temp Ordner auch auslesen

Code: Alles auswählen

import tempfile

temp_dir = tempfile.gettempdir()
wichtiger_text = f"{temp_dir}/wichtigerText.txt"
print(f"Pfad: {wichtiger_text}") 

Re: Dateipfade unter Windows/Python

Verfasst: Dienstag 20. Dezember 2022, 15:14
von __blackjack__
Pfade mit Zeichenkettenoperationen zusammensetzen ist eher nicht so toll.

Code: Alles auswählen

from pathlib import Path
from tempfile import gettempdir

file_path = Path(gettempdir()) / "wichtiger_text.txt"
print(f"Pfad: {file_path}")