當我運行此以下行爲:蟒蛇MyApp.py ARG1 ARG2 我得到預期的結果:獲取參數
['MyApp.py', 'arg1', 'arg2']
但是 - 當我運行它爲:MyApp.py ARG1 ARG2 我做沒有得到的參數:
['MyApp.py']
如何貓沒有明確使用python獲取參數?
#!/usr/bin/python
import sys
if __name__ == "__main__":
print (sys.argv)
當我運行此以下行爲:蟒蛇MyApp.py ARG1 ARG2 我得到預期的結果:獲取參數
['MyApp.py', 'arg1', 'arg2']
但是 - 當我運行它爲:MyApp.py ARG1 ARG2 我做沒有得到的參數:
['MyApp.py']
如何貓沒有明確使用python獲取參數?
#!/usr/bin/python
import sys
if __name__ == "__main__":
print (sys.argv)
如果您使用的是Linux發行,打開終端,輸入
which python
你會得到您的默認的Python可執行文件存儲的路徑。輸入此路徑作爲代碼的第一行,使用shebang,即#!
。例如,我的路徑是:/usr/bin/python
,那麼我就可以做到以下幾點:
#! /usr/bin/python
import sys
print sys.argv
現在,在你的終端,轉到該文件的存儲目錄。假設文件的名稱是check.py
。使其可執行使用下面的命令:
chmod +x check.py
現在你可以通過鍵入運行您的程序:./check.py arg1 arg2
,它會執行,因爲它應該。
對於Windows,您需要確保Windows正在關聯正確的Python可執行文件以執行.py
文件。即使它正確關聯,有時Windows也會從命令中刪除參數。
我不是一個非常沉重的Windows用戶。你可以查看這個博客:http://eli.thegreenplace.net/2010/12/14/problem-passing-arguments-to-python-scripts-on-windows/
我使用Windows操作系統 – DuduArbel
@DuduArbel這是在回答Python問題時提出一個非常重要的事情。 –
我查了一下,Windows不看shebang。 –
「沒有明確使用python」咦?您正在編寫一個Python腳本。那是什麼意思? – DeepSpace
你能分享更多的源文件嗎?我無法重現您正在使用您提供的代碼討論的問題。 – Irisshpunk
這是我所有的代碼。我想獲得參數而不明確使用python? – DuduArbel