我有一堆用Python編寫的腳本。我運行它們從Windows命令提示符像從Windows命令行運行Python腳本,參數未通過
c:> my_script.py arg1 arg2 arg3
這個作品在每一臺計算機,自多年前每一個Windows版本。剛剛它已經在我的Windows 7系統上崩潰了。腳本被加載並執行。但是沒有任何論據被傳遞到腳本中。
爲了說明這一點,我有一個劇本叫py_echo.py:
from pprint import pprint as pp
import sys
if __name__ =='__main__':
pp(sys.argv)
然後我用參數A,B,C執行它。他們都沒有通過。
c:\Python27\Lib\site-packages>py_echo.py a b c
['C:\\0\\usr\\bin\\py_echo.py']
如果我運行python.exe明確的參數傳遞正確
c:\Python27\Lib\site-packages>python.exe c:\0\usr\bin\py_echo.py a b c
['c:\\0\\usr\\bin\\py_echo.py', 'a', 'b', 'c']
它之前工作。在我從PC上卸載了一堆老版本的Python解釋器和模塊後,它纔開始崩潰。重新安裝Python沒有幫助。我想知道我能做些什麼來解決這個問題?
我已經變得非常依賴我多年來建立的腳本。我覺得,當他們打破:(
你有沒有嘗試過這樣的:http://stackoverflow.com/questions/2640971/windows-is-not-passing-command-line-arguments-to-python-programs-executed-from -t –
謝謝大家。我發現Perl上的另一個線程指向相同的解決方案。 http://stackoverflow.com/questions/444388/how-can-i-pass-command-line-arguments-via-file-association-in-vista-64 –
同樣適用於Python:http://stackoverflow.com /問題/ 2437167 /問題 - 運行 - Python的腳本,在命令提示符特異性-用的命令行。 (儘管解決方案在Windows 7上不起作用)。 – bavaza