Grundsätzlich möchte ich ein Handle des Python-Interpreter bekommen, damit ich eine Skriptdatei übergeben kann (von einer externen Anwendung).Wie wird der Speicherort python.exe programmgesteuert abgerufen?
Antwort
Das funktioniert in Linux, vielleicht auch in Windows?
>>> import sys
>>> print sys.executable
/usr/bin/python
Yep - >>> Import sys | >>> print sys.executable | C: \ Python25 \ pythonw.exe – Smashery
Funktioniert auch unter Mac OS X. – FogleBird
Ich denke, in einer py2exe kompilierten App würde es auf die ausführbare Datei für die App zeigen und nicht auf die python.exe. Jemand müsste das allerdings bestätigen. – FogleBird
Ich denke, es hängt davon ab, wie Sie Python installiert haben. Beachten Sie, dass Sie mehrere Python-Installationen auf meinem Computer ausführen können. wenn Sie über eine msi einer Version von Python 2.2 oder höher jedoch installieren, ich glaube, es ist ein Registrierungsschlüssel erstellt, wie so:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ Currentversion \ App Paths \ python.exe
, die diesen Wert auf meinem Rechner gibt:
C: \ Python25 \ python.exe
Sie den Registrierungsschlüssel lesen Sie einfach den Standort zu erhalten.
Sie können Python jedoch über ein xcopy-ähnliches Modell installieren, das Sie an einem beliebigen Ort haben können, und Sie müssen nur wissen, wo es installiert ist.
Wenn es in den App-Pfaden ist, musst du nicht einmal den Ort kennen, oder? ;) – Gleb
Das Suchen in der Registry ist nicht wirklich sinnvoll, da man nicht weiß, ob man den Python ausführt, über den man in der Registry spricht. – GreenAsJade
sys.executable ist nicht zuverlässig, wenn in einer eingebetteten Python-Umgebung gearbeitet wird. Meine Vorschläge sind es zu folgern aus
import os
os.__file__
- 1. Wie wird der aktuelle EAR-Speicherort programmgesteuert mit JBoss abgerufen?
- 2. Wie wird der Speicherort von% UserProfile% programmgesteuert in C++ aufgelöst?
- 3. Wie wird der vollständige Ordnerverlauf von TFS programmgesteuert abgerufen?
- 4. Wie wird der Speicherort des Begrüßungsbildschirms geändert?
- 5. Aktuellen Speicherort programmgesteuert ändern
- 6. Wie wird das temporäre ASP.NET-Verzeichnis programmgesteuert abgerufen?
- 7. Wie wird die Größe des Verbindungspools programmgesteuert in JBoss abgerufen?
- 8. Wie wird das Namensmuster einer log4net-Protokolldatei programmgesteuert abgerufen?
- 9. Wie wird der absolute Pfad für einen bestimmten relativen Pfad programmgesteuert in Linux abgerufen?
- 10. Schläger: Wie wird der Pfad der laufenden Datei abgerufen?
- 11. Wie programmgesteuert Informationen zu Verzweigungen in TFS abgerufen werden?
- 12. Wie wird der Root-Speicherort für den AngularJS-Router festgelegt?
- 13. Wie wird der Download-Speicherort für einen Link festgelegt?
- 14. Wie wird der Speicherort eines WPF-Fensters festgelegt?
- 15. Wie wird der Speicherort des Gradle-Caches eingestellt?
- 16. Wie wird ein Array in URL abgerufen?
- 17. Jmeter, wie der dynamische Parameterwert im Pfad abgerufen wird
- 18. Wie wird der beste Vorname eines Benutzers in Android abgerufen?
- 19. Wie wird der Ordner% AppData% in C abgerufen?
- 20. Wie wird ein Teil der JSON-Zeichenfolge abgerufen?
- 21. Wie wird der zuletzt eingefügte Zeilenindex in Datalist abgerufen?
- 22. Wie wird die ID der gehosteten AWS Route53-Zone abgerufen?
- 23. Wie wird die implementierende Klasse/Schnittstelle der Elternschnittstelle abgerufen?
- 24. Wie wird geschachteltes Objekt in der elastischen Suche abgerufen?
- 25. Win32API - Wie wird der Dateiname des Prozesses vom Prozesshandle abgerufen?
- 26. Wie wird der Pfad des aktuellen Arbeitsblatts in VBA abgerufen?
- 27. Wie schnell wird ein Azure-Konfigurationswert abgerufen?
- 28. Wie wird die Größe dieses Arrays abgerufen?
- 29. Wie NUnit programmgesteuert ausgeführt wird
- 30. Wie programmgesteuert "Installiert" aktiviert wird?
@Bhargav Rao: Wie kann diese Frage, die 1 Jahr _before_ die Frage gestellt wurde, dass es angeblich ein Duplikat, wäre ein Duplikat davon zu sein? Es ist anders herum. – mhawke
@mhawke Der andere hatte mehr Ansichten als das und war besser formuliert. Daher habe ich es in die umgekehrte Richtung getäuscht. TBH, Beide sagen das Gleiche, also können wir sogar für die Fusion flaggen. –
@BhargavRao: Ja, es ist besser geschrieben und der Titel ist wahrscheinlich dafür verantwortlich. Auch die angenommene Antwort ist besser und (jetzt) enthält einen Link zu der Dokumentation, also insgesamt denke ich, dass Sie Recht haben. – mhawke