3 回答

TA貢獻(xiàn)1839條經(jīng)驗 獲得超15個贊
不能用作函數(shù)參數(shù)。只需重命名參數(shù),它就會起作用:sys.argv
import sys
def load(args):
# your logic
print(load(sys.argv))

TA貢獻(xiàn)1804條經(jīng)驗 獲得超8個贊
函數(shù)傳入?yún)?shù)和變量名稱,無需在其中聲明它們。您的代碼應(yīng)如下所示
def load(arguments):
# Your Code
firstArg = arguments[0]
load(sys.argv)

TA貢獻(xiàn)1862條經(jīng)驗 獲得超7個贊
如果你打算指定你想要在函數(shù)內(nèi)使用sys.argv[1],你不需要任何類型的參數(shù)。您可以使其成為不需要參數(shù)的函數(shù)。
import sys
def load():
with open(sys.argv[1]) as file:
# code to execute...
# code to execute...
load()
我的建議僅適用于只想使用一個命令行參數(shù)(在索引1處)打開一個文件的情況。如果你想使用其他命令行參數(shù)打開其他參數(shù),你需要在函數(shù)中加入一個參數(shù),比如“args”(就像David Teather說的那樣),以使代碼更加靈活。參數(shù)設(shè)置為要在函數(shù)范圍內(nèi)使用的新變量名稱。在您的代碼中,這就像您嘗試將“sys.argv”設(shè)置為函數(shù)名稱一樣,這不起作用,因為它已經(jīng)是一個函數(shù)。
添加回答
舉報