Dateipfade unter Windows/Python

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
drnicolas
User
Beiträge: 105
Registriert: Sonntag 24. Juli 2016, 10:32

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.
Sirius3
User
Beiträge: 18275
Registriert: Sonntag 21. Oktober 2012, 17:20

\ ist das Escapezeichen, deshalb muß \ escaped werden (\\). Um das Problem zu umgehen, kann man einfach auch / benutzen und hat dieses Problem erst gar nicht.
Benutzeravatar
__blackjack__
User
Beiträge: 14067
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Alternativ kann man auch ”rohe” Zeichenkettenliterale verwenden r"c:\\temp\wichtigerText.txt".
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
drnicolas
User
Beiträge: 105
Registriert: Sonntag 24. Juli 2016, 10:32

Pkay, danke.
Mein Problem scheinen nicht die Pfade selbst zu sein.
Benutzeravatar
Axel-WAK
User
Beiträge: 62
Registriert: Dienstag 29. November 2022, 11:52

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}") 
OS: LMDE5 *** Homepage *** Github Seite
Benutzeravatar
__blackjack__
User
Beiträge: 14067
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

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}")
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Antworten