Ich schreibe ein Installationsprogramm, das ein Skript aus einer vorhandenen Python-Datei zieht und es dann im Hauptprogramm von Python verwendet. Was ich wissen muss, ist import <file>
aus dem aktuellen Arbeitsverzeichnis, nicht die Standardbibliothek oder das Verzeichnis, in dem der Hauptcode ist. Wie kann ich das tun?Wie kann ich eine Python-Bibliothek importieren, die sich im aktuellen Arbeitsverzeichnis befindet?
Q
Wie kann ich eine Python-Bibliothek importieren, die sich im aktuellen Arbeitsverzeichnis befindet?
10
A
Antwort
12
So etwas sollte (ungetestet) arbeiten
import os
import sys
sys.path.append(os.getcwd())
import foo
13
import sys
sys.path.append('path/to/your/file')
import your.lib
Dadurch wird der Inhalt der Datei aus dem neu hinzugefügten Verzeichnis importieren. Das Hinzufügen neuer Verzeichnisse auf diese Weise zum Python-Pfad dauert nur solange das Skript läuft, es ist nicht dauerhaft.
4
Sie sollten das Modul sofort aus Ihrem aktuellen Arbeitsverzeichnis importieren können. Wenn nicht, können Sie Ihr aktuelles Arbeitsverzeichnis in sys.path
hinzufügen:
import sys
sys.path.insert(0, 'path_to_your_module') # or: sys.path.insert(0, os.getcwd())
import your_module
Sie auch hinzufügen können, um das Verzeichnis zu PYTHONPATH Umgebungsvariable.
Verwandte Themen
- 1. Wie referenziere ich eine Baugruppe, die sich im GAC befindet?
- 2. Prüfen, ob sich ein Marker im aktuellen sichtbaren Bereich befindet
- 3. Wie machst du die log4net-Ausgabe zum aktuellen Arbeitsverzeichnis?
- 4. Wie starte ich in Coldfusion eine Komponente, die sich über dem aktuellen Pfadordner befindet?
- 5. Webpart befindet sich im Bearbeitungsmodus?
- 6. Wie kann ich herausfinden, wo sich die Datei httpd.conf befindet?
- 7. Wie erhalte ich den aktuellen Ordner, in dem sich die Codedatei befindet, mit Google App Script?
- 8. Kann eine lokale Benachrichtigung nicht im Verlauf angezeigt werden, wenn sich die App im Hintergrund befindet?
- 9. Warum kann ich keine Bibliothek importieren, die sich in meiner Pip-Liste befindet?
- 10. Es empfiehlt sich, die Bilder/Dateien im aktuellen Arbeitsverzeichnis in C# -Projekt
- 11. Wie erhalte ich eine GCM-Nachricht, wenn die App geschlossen ist oder sich im Hintergrund befindet?
- 12. Wie kann ich wiederholt eine Methode aufrufen, wenn sich meine iOS 4 App im Hintergrund befindet?
- 13. Wie öffne ich eine Domain basierend auf dem aktuellen Land, in dem sich das Gerät befindet?
- 14. Java: Wie öffne ich eine Textdatei im Test, die sich in src/main/resources befindet?
- 15. Wie kann ich eine Zeichenfolge in ein Eingabewidget einfügen, das sich im Status "readonly" befindet?
- 16. Wie schreibe ich in eine Textdatei, die sich im Projektverzeichnis befindet?
- 17. Mysql outfile zu aktuellen Arbeitsverzeichnis?
- 18. Wie kann ich eine Schaltfläche ziehen, die sich in WPF befindet?
- 19. Wo befindet sich _md5 Modulcode im System?
- 20. Wie kann eine Stapeldatei herausfinden, wo sie sich befindet?
- 21. Wo befindet sich die Datei widgets/foreign.html im Django-Stamm?
- 22. Überprüfen Sie, ob sich die Datei im (Unter) Verzeichnis befindet
- 23. Wo befindet sich Model.py im Django-Quellcode?
- 24. .bowerrc befindet sich wo im Projektverzeichnis?
- 25. Befindet sich sails.js noch im Betamodus
- 26. Wo befindet sich die Schaltfläche Screenshot im Hierarchy Viewer?
- 27. Wie wird die Anzahl der Benachrichtigungen behandelt, wenn sich die App im Hintergrund im Firebase befindet?
- 28. Woher weiß ich, ob es sich im unbeaufsichtigten Modus befindet?
- 29. Wie kann ich eine JTable erstellen, in der sich die erste Spalte immer im JScrollPane-Ansichtsfenster befindet?
- 30. Wie kann ich importieren?
scheint diese Fragen bereits beantwortet zu haben: [link Beschreibung hier eintragen] [1] [1]: http://stackoverflow.com/questions/1112618/import-python-package -from-local-directory-in-interpreter – rhinoinrepose
@rhinoinrepose - Nein, das sieht aus wie jemand, der ein Problem mit dem unten beschriebenen Code hat. Scheint mir nicht wie ein Betrogener. – Nathan2055
@ Nathan2055: Alle Antworten unten sind im Wesentlichen Antworten auf die Frage, die mit Rhinointrepose verbunden ist. Wenn diese Antworten für Sie funktionieren, ist Ihre Frage ein Duplikat. Wenn diese Antworten für Sie nicht funktionieren, müssen Sie weitere Informationen angeben. –