(上WindowsXP的Python2.7-3.2) 我曾經使用sys.arg [0],但我現在從批處理腳本執行它(用於確定用戶是否具有蟒)有沒有辦法告訴你的python文件在哪裏?
感謝^^
〜PS:建議如果你知道一個更好的方法來找出用戶是否有Python的
(上WindowsXP的Python2.7-3.2) 我曾經使用sys.arg [0],但我現在從批處理腳本執行它(用於確定用戶是否具有蟒)有沒有辦法告訴你的python文件在哪裏?
感謝^^
〜PS:建議如果你知道一個更好的方法來找出用戶是否有Python的
可以讀取變量__file__
找出路徑當前的Python fi被解釋。
它是'__file__',而不是'__FILE__'。 – 2011-04-02 20:25:45
你是對的,我偶然混淆了C++的。 :) – Amber 2011-04-02 23:35:57
os.path.normpath(os.path.abspath(os.path.dirname(__file__)))
,你可以看看這個帖子,檢查註冊表
batch file to check if Python is installed
似乎容易,因爲:
REG查詢 「HKCU \ SOFTWARE \的Python 2.6」
另一種方法是檢查%PATH%。我不知道如何做到這一點,因爲沒有安裝的窗口來測試它:)
嘗試瞭解更多關於「reg query」以及如何搜索%PATH%的可執行文件!
祝你好運!
這不回答被問到的問題。 – 2011-04-02 21:26:58
不,但它回答了我問到的PS問題,Bryan。謝謝你,奧比。但是你知道如何爲python3做?它似乎列表中的Python2 reg註冊查詢「hkcu \軟件」 – Property404 2011-04-02 21:38:10
爲了增加這一點,儘管它已經回答了,這裏是我從該網站得到了(不記得源)
import os, sys
print "CWD: ", os.getcwd()
print "Script: ", sys.argv[0]
print ".EXE: ", os.path.dirname(sys.executable)
print "Script dir: ", os.path.realpath(os.path.dirname(sys.argv[0]))
pathname, scriptname = os.path.split(sys.argv[0])
print "Relative script dir: ", pathname
print "Script dir: ", os.path.abspath(pathname)
print 'Current file: ', os.path.dirname(__file__)
print os.path.dirname(__file__) + '/IDLESTARTUP.txt'
嗯?如果你正在運行一個Python腳本,那麼顯然用戶有Python! – 2011-04-02 22:56:08