Wie ändere ich das Verzeichnis in das Verzeichnis mit meinem Python-Skript? Bisher habe ich herausgefunden, dass ich os.chdir
und sys.argv[0]
verwenden sollte. Ich bin mir sicher, dass es einen besseren Weg gibt, meine eigene Funktion zu schreiben, um argv [0] zu parsen.Wechseln Sie in das Verzeichnis eines Python-Skripts
Antwort
os.chdir(os.path.dirname(__file__))
aus welchem Grund auch immer __file__ war C: \ dev \ Python25 \ Lib \ idleLib, also hat ein schneller Ersatz durch argv [0] es gelöst. +1 und markieren Sie markiert –
Je nach Plattform möchten Sie möglicherweise "os.path.abspath" auf das Ergebnis von "os.path.dirname" verwenden, um sicherzustellen, dass alle symbolischen Links oder andere Dateisystemumleitung ordnungsgemäß erweitert werden. –
Manchmal __file__
nicht definiert ist, in diesem Fall, dass Sie sys.path[0]
@Miki - wann ist '__file__' nicht definiert? –
@RobBednark: 'python3.3 -c" print (__ Datei __) "' –
@JanusTroelsen: gilt auch für Python 2.7. – George
os.chdir(os.path.dirname(os.path.abspath(__file__)))
sollte es tun versuchen.
os.chdir(os.path.dirname(__file__))
würde nicht funktionieren, wenn das Skript aus dem Verzeichnis ausgeführt wird, in dem es vorhanden ist.
auf Windows-Betriebssystem, wenn Sie so etwas wie Python somefile.py diese os.chdir (os.path.dirname (__ FILE__)) nennen eine WindowsError werfen. Aber das sollte für alle Fälle funktionieren:
import os
absFilePath = os.path.abspath(__file__)
os.chdir(os.path.dirname(absFilePath))
- 1. Suchen Sie das übergeordnete Verzeichnis eines Pfads
- 2. Docker: Verzeichnis wechseln Befehl
- 3. Verwenden eines Masterverzweigungsklons für das public_html -Verzeichnis
- 4. Wie legen Sie das aktuelle Verzeichnis eines debuggten Prozesses fest?
- 5. So erkennen Sie das Wechseln zwischen Benutzern
- 6. wie Verzeichnis mit der Windows-Befehlszeile wechseln
- 7. Ändern Sie das aktuelle Verzeichnis mit Knoten
- 8. Vermeiden Sie Typ Assertions in den Zweigen eines Typs wechseln
- 9. So wechseln Sie das Fragment von mit cardview Klicken Sie
- 10. Ein Bash-One-Liner zum Wechseln in das Verzeichnis, in dem sich eine Datei befindet
- 11. Holen Sie das Verzeichnis von einem Dateipfad in Java (Android)
- 12. "Konnte nicht zum Templates-Verzeichnis wechseln() ..." Fehler in Dev C++
- 13. Verzeichnis wechseln und Datei in einem Befehl ausführen
- 14. Automatisch verwenden Sie das Verzeichnis als Projektname in CMake
- 15. Verwendung cmd.exe Verzeichnis zu wechseln und Befehl in diesem Verzeichnis ausführen
- 16. Wie ein Verzeichnis innerhalb eines Verzeichnisses in yii2 und Upload-Datei in das Verzeichnis erstellen
- 17. Wechseln eines Bilds mit jQuery
- 18. Ordner in einem Verzeichnis finden, ohne das übergeordnete Verzeichnis aufzulisten
- 19. Azure Ändern Sie das zugehörige Verzeichnis 'None'
- 20. Wie klonen Sie ohne das übergeordnete Verzeichnis?
- 21. Wie verschachteln Sie das Verzeichnis "node_module"?
- 22. Holen Sie sich das aktuelle Batchfile-Verzeichnis
- 23. So ermitteln Sie das Verzeichnis der Erweiterung
- 24. Finden Sie das Verzeichnis für einen FileStore
- 25. SAS Überprüfen Sie das Verzeichnis existiert
- 26. Extrahieren von JAR in das angegebene Verzeichnis
- 27. Wie kann man das Verzeichnis wechseln und dann die Befehls-Batch-Datei ausführen?
- 28. So wechseln Sie das Untermenü auf verschiedenen Seiten
- 29. SQL Plus: wie Verzeichnis wechseln und aktuelles Arbeitsverzeichnis anzeigen
- 30. Maven: Wie verweisen Sie auf das Build-Verzeichnis eines untergeordneten Projekts in einem übergeordneten POM?
Sie können dies direkt kopieren und einfügen: 'import os; os.chdir (os.path.dirname (__ file __)) ' – Basj