Ich versuche, eine Datei zu öffnen, die als Teil ihres Namens einen zufälligen Zeitstempel hat. Der größte Teil des Dateinamens ist bekannt, zB filename = 2017_01_23_624.txt
ist mein Testname. Das Datum und die Zahlen sind der Teil, den ich durch etwas Unbekanntes zu ersetzen versuche, da es sich ändern wird. Meine Frage bezieht sich auf das Öffnen einer vorhandenen Datei und das Erstellen eines neuen Dateinamens. Die Dateinamen werden von einem separaten Programm erstellt und ich muss sie öffnen können. Ich möchte sie auch ändern, sobald sie geöffnet sind. Ich habe versucht, die Dateinamen-Zeichenfolge wie folgt zu erstellen, aber ungültige Syntax erhalten.Wie öffne ich eine Datei in Python mit Variablennamen?
Antwort
Sie können eine Datei mit einem partiellen Dateinamen, der einen Platzhalter enthält, nicht öffnen, damit sie übereinstimmt. Was Sie tun müssten, sehen Sie sich alle Dateien in Ihrem Verzeichnis an und wählen Sie diejenige, die am besten passt.
Einfaches Beispiel:
import os
filename = "filename2017_" # known section
direc = r"directorypath"
matches = [ fname for fname in os.listdir(direc) if fname.startswith(filename) ]
print(matches)
Sie können jedoch verwenden, um den glob
Modul (Dank bzimor) nach Mustern Ihre Dateien entsprechen. Weitere Informationen finden Sie unter glob docs.
Ähnlich wie bei der ersten Lösung erhalten Sie immer noch eine Liste von Dateinamen zur Auswahl, um dann zu öffnen. Aber mit dem Modul glob
können Sie Ihre Dateien genauer zuordnen, wenn Sie dies benötigen. Es hängt alles davon ab, wie eng es sein soll.
Oder einfacher Weg verwendet 'Glob' mit Platzhaltern für Dateinamen. Fügen Sie diese 'glob' Modulversion hinzu – bzimor
Danke. Ich dachte, ich hätte das vielleicht machen müssen, aber ich kannte die Verzeichnisbefehle nicht. Ich habe es fast, aber meine Ausgabe für den Dateinamen ist wie folgt. es wird mit eckigen Klammern und 'quotes.C: \ TEMP \ Python> Python test.py [' testfile2017_01.txt '] Traceback (jüngste Aufforderung zuletzt): File "test.py", Zeile 9, in
@Dindsy 'matches' ist eine Liste, Sie müssen einen Dateinamen daraus auswählen. Siehe auch aktualisierte Antwort. Könnte das 'glob' Modul eine bessere Wahl finden. –
- 1. Wie öffne ich eine Datei durch Python
- 2. Wie öffne und lese ich eine Datei in Python?
- 3. Wie öffne ich eine URL in Python
- 4. Wie öffne ich eine Datei in C++?
- 5. Wie öffne ich eine Datei in Sudoku?
- 6. Wie öffne ich eine HTML-Datei im Browser von Python?
- 7. Wie öffne ich eine VBSript-Datei von einem Python-Skript?
- 8. Wie öffne ich eine hxs-Datei?
- 9. Wie öffne ich eine .rar-Datei in IDLE?
- 10. Wie öffne ich eine Datei in gtkdialog mit Bash
- 11. Wie öffne ich eine XLS-Datei mit Excel in VB
- 12. Mit Ant, wie öffne ich eine Datei in einem Browser?
- 13. Wie öffne ich eine .bundle-Datei
- 14. Wie öffne ich eine .a Datei
- 15. Wie öffne/laufe ich eine YML-Datei?
- 16. Wie öffne ich eine .FIC-Datei?
- 17. Wie öffne ich eine Datei im Benutzerordner
- 18. Wie öffne ich eine Remote-Datei mit GDAL in Python durch eine Flask-Anwendung
- 19. Wie öffne, lade und zeichne eine numpy Datei in Python?
- 20. Wie öffne ich Datei/Verzeichnis?
- 21. Wie öffne ich eine In-Memory-Datenbank-Datei in sqlite3
- 22. Wie öffne ich eine lokale Datei mit Javascript?
- 23. Wie öffne ich eine HTML-Datei mit Java?
- 24. Wie öffne ich eine .js Datei mit phantomjs?
- 25. Wie öffne ich eine Datei mit der Standardanwendung
- 26. Wie öffne ich eine lokale Datei mit Standardanwendung vom Browser?
- 27. Wie öffne ich eine Word-Datei mit interop.word
- 28. Wie öffne ich eine JAR-Datei mit Java?
- 29. Wie öffne ich eine lokale Datei mit Javascript FileReader()
- 30. Wie öffne ich eine passwortgeschützte PDF-Datei mit applescript?
Mögliches Duplikat (http://stackoverflow.com/questions/14622314/python-inserting-variable-string-as-file-name) – bzimor
Nicht ganz [Python-Variable Zeichenfolge als Dateinamen einfügen]. Meine Dateinamenszeichenfolge ist komplizierter als diese. – Dindsy