收到由此行代碼引起的語法錯誤def load(sys.argv): with open(sys.argv[1]) as file: reader = json.load(file) return reader['json']來自斯特德瑞的消息: def load(sys.argv): ^SyntaxError: invalid syntax當然,我已經導入了系統。實際上,函數內使用 sys.argv 的參數可以正常工作。有誰知道這個問題的解決方案嗎?
3 回答

紫衣仙女
TA貢獻1839條經驗 獲得超15個贊
不能用作函數參數。只需重命名參數,它就會起作用:sys.argv
import sys
def load(args):
# your logic
print(load(sys.argv))

胡說叔叔
TA貢獻1804條經驗 獲得超8個贊
函數傳入參數和變量名稱,無需在其中聲明它們。您的代碼應如下所示
def load(arguments):
# Your Code
firstArg = arguments[0]
load(sys.argv)

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