Wie mache ich Verzeichniszugriffe für Windows und Linux?
-
Alfons Mittelmeyer
- User
- Beiträge: 1715
- Registriert: Freitag 31. Juli 2015, 13:34
Bei Windows gibt man Verzeichnisse so an: "Subdirectory\File" bei Linux aber so "Subdirectory/File" also '/' statt '\'. Wie schreibe ich am Besten ein Programm, das auf Unterverzeichnisse zugreift aber sowohl unter Linux als auch Windows laufen soll?
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Indem du die richtigen Mittel zum Pfade zusammensetzen benutzt: `os.path.join`
Code: Alles auswählen
path = os.path.join('directory', 'subdirectory', 'file')Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
-
Alfons Mittelmeyer
- User
- Beiträge: 1715
- Registriert: Freitag 31. Juli 2015, 13:34
Dankecofi hat geschrieben:Indem du die richtigen Mittel zum Pfade zusammensetzen benutzt: `os.path.join`
Code: Alles auswählen
path = os.path.join('directory', 'subdirectory', 'file')
directory/subdirectory/file
funktioniert in Python sowohl unter Linux als auch unter Windows
funktioniert in Python sowohl unter Linux als auch unter Windows
-
Alfons Mittelmeyer
- User
- Beiträge: 1715
- Registriert: Freitag 31. Juli 2015, 13:34
Ja danke, das ist noch besser, denn dann braucht man den String nicht erst zu zerlegen, um ihn dann passend zusammenzusetzen.MagBen hat geschrieben:directory/subdirectory/file
funktioniert in Python sowohl unter Linux als auch unter Windows
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Das hat nichts mit Python zu tun, sondern mit der Pfadbehandlung von Windows. Die laesst beides zu.
Warum denn "zerlegen und dann passend zusammensetzen"? Wenn du das Pfadfragment definierst, kannst du es doch gleich richtig machen.
Nehmen wir mal an du hat eine feste Verzeichnisstruktur für Plugins:
lässt sich durch
ersetzen.
Warum denn "zerlegen und dann passend zusammensetzen"? Wenn du das Pfadfragment definierst, kannst du es doch gleich richtig machen.
Nehmen wir mal an du hat eine feste Verzeichnisstruktur für Plugins:
Code: Alles auswählen
PLUGIN_DIRECTORY = "src/plugin"Code: Alles auswählen
PLUGIN_DIRECTORY = os.path.join("src", "plugin")Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
