Python Datei Öffnen

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
Leetplex
User
Beiträge: 6
Registriert: Donnerstag 8. März 2012, 17:34

Wie öffne ich mit Python eine Datei die in einem anderen Ordner liegt, wobei der Ordner im Ordner von der .py Datei liegt also so:

Python.py, Files(Ordner) -> Text(Ordner) -> Textdatei
Apropro was für eine Datei Endung haben Textdateien auf Xubuntu?
webspider
User
Beiträge: 485
Registriert: Sonntag 19. Juni 2011, 13:41

Klingt als wäre der fragliche relative Pfad zur Datei "Files/Text/data.txt". Von daher:

Code: Alles auswählen

with open("Files/Text/data.txt", "r") as f:
    # do something with the filehandle f
Für gewöhnlich nimmt man txt als Dateiendung, allerdings ist das keine Pflicht. Insbesondere unter unixoiden Betriebssystemen. Dort können die Dateien auch einfach keine Endung aufweisen. Von daher überprüft man den Dateityp gerne mit Werkzeugen wie file. Es könnte ja ebenso gut kein purer Text sein, sondern ein Dokument, das von Programmen wie LibreOffice erstellt wurde.

Achja, solltest du den Pfad zur Laufzeit zusammensetzen, dann nutze os.path.join():

Code: Alles auswählen

import os
file_path = os.path.join("Files/Text", "data.txt")
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

webspider hat geschrieben:Achja, solltest du den Pfad zur Laufzeit zusammensetzen, dann nutze os.path.join():

Code: Alles auswählen

import os
file_path = os.path.join("Files/Text", "data.txt")
Du meinst wohl

Code: Alles auswählen

import os
file_path = os.path.join("Files", "Text", "data.txt")
;)
webspider
User
Beiträge: 485
Registriert: Sonntag 19. Juni 2011, 13:41

Wo du Recht hast, hast du Recht :)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

webspider hat geschrieben:Von daher überprüft man den Dateityp gerne mit Werkzeugen wie file. Es könnte ja ebenso gut kein purer Text sein, sondern ein Dokument, das von Programmen wie LibreOffice erstellt wurde.
Der vollständigkeit halber: Open Document Format hat immer eine Endung, bei Text wär das ``.odt``. Und ``file`` ist nicht hundertprozentig sicher, lässt sich etwa von exotischen Encodings manchmal verwirren und denkt dann die Shift-JIS oder Big5 oder KOI8R-Textdatei wär dann binär.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten