2013-07-17 81 views
0

我試圖獲取用於在其中執行某些腳本的Python目錄。我發現了一個奇怪的行爲。sys模塊在通過IDLE運行Python腳本時通過雙擊腳本給出不同的輸出

這只是一個示例代碼,用於指出具體問題。我將把這個路徑放到一個變量中以備後用。

我放在這個代碼在腳本

import sys 
print sys.executable[: - len('pythonw.exe')] 
raw_input() 

的輸出是這個時,我通過IDLE

C:\Python27\ 

運行它的輸出是這個時我通過雙擊腳本

運行它
C:\Python27 

我不明白這裏發生了什麼。爲什麼不同的格式?它應該是一致的還是我錯過了什麼?

+1

當你點擊它時,它可能正在通過'python.exe'運行,所以你要從w中刪除額外的字符 –

+0

@JoranBeasley有沒有辦法在Python中檢查? –

+0

@AseemBansal:爲什麼不直接打印'sys.executable'而不是修剪它,然後你會看到它的實際內容? – BrenBarn

回答

1
print os.path.dirname(sys.executable) 

是你應該使用的。

當你點擊它時,它可能正在運行python.exe,所以你要從w中刪除額外的字符。