In Python wie kann ich programmgesteuert an meinen Systempfad anhängen? Ich bin mir bewusst, sys.path.append
und nur die Dokumente durchsucht, bin ich ein wenig verwirrt obwohl. Es sagt mir, dass sys.path.append
nur an die PYTHONPATH
anfügt und nicht den tatsächlichen Systempfad. Gibt es eine Möglichkeit, die ich programmatisch vorübergehend an den Systempfad anhängen kann?Wie an den Systempfad programmgesteuert anhängen?
1
A
Antwort
2
aktualisieren nur die Umwelt PATH
Variable:
old_path = os.environ['PATH']
try:
os.environ['PATH'] = "{}{}{}".format('/my/new/path', os.pathsep, old_path)
finally:
os.environ['PATH'] = old_path
Alternativ ihre gemeinsame Programme eine separate Umgebung zu halten, die sie verwenden, wenn andere Tools aufrufen.
env = os.environ.copy()
env['PATH'] = "{}{}{}".format('/my/new/path', os.pathsep, env['PATH'])
# change other env here...
subprocess.check_call(['my', 'tool'], env=env)
Verwandte Themen
- 1. Wie stelle ich scons Systempfad
- 2. Die WC-Zeilen an den Dateinamen anhängen
- 3. Text an den Dateinamen anhängen mit DOS
- 4. Jquery klonen und an den Eingabewert anhängen
- 5. Wie an Array an bestimmten Schlüssel anhängen
- 6. Datenrahmen an den Anfang einer Liste anhängen
- 7. Wie an die Datei anhängen
- 8. Bild an Gmail anhängen
- 9. NSIntefulData an NSIntefulData anhängen
- 10. Quelle an VisualVM anhängen?
- 11. Anhängen an MemoryMappedFile?
- 12. Datei an Outlook anhängen
- 13. Quellcode an Jprofiler anhängen
- 14. an ORC-Datei anhängen
- 15. Anhängen an CMAKE_C_FLAGS
- 16. Text an Klassennamen anhängen
- 17. Entitäten an Datenkontexte anhängen
- 18. An CloudBlockBlob-Stream anhängen
- 19. C an char anhängen *
- 20. Elemente an Seite anhängen
- 21. An Zeichenfolgenvariable anhängen
- 22. Dreiecke an div anhängen
- 23. TextView an RecyclerView anhängen
- 24. Unterverzeichnis an Hauptwörterbuch anhängen
- 25. Ausgabe an Datei anhängen?
- 26. Konsole an LaunchConfiguration anhängen
- 27. Elemente an Wert anhängen
- 28. Anhängen an einen ObjectOutputStream
- 29. Daten an Textbereich anhängen
- 30. GIF an TWTRComposer anhängen?
Das funktioniert perfekt, also bin ich richtig, dass 'sys.append.path' nur den' PYTHONPATH' selbst tut? – Pyth0nicPenguin
@ PythonicPenguin Zuerst ist es ['sys.path'] (https://docs.python.org/3/library/sys.html#sys.path) (' .append') und ja nur 'PYTHONPATH' . – xZise
@ PythonicPenguin - Nicht ganz. 'sys.path.append' hängt nur für das laufende Programm an den Modul-Suchpfad an. Wenn es andere Programme ausführt, sehen sie nur den 'PYTHONPATH' von der ursprünglichen Umgebung. - Und ich meine, als Kind Prozess ausführen, nicht importieren. Wenn du andere Python-Skripte ausführst und ihnen einen anderen Pfad anzeigen möchtest, musst du das gleiche 'os.environ'-Spiel mit' PYTHONPATH' spielen. – tdelaney