收到由此行代码引起的语法错误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
提交
取消