为了账号安全,请及时绑定邮箱和手机立即绑定

在函数中使用 sys.argv 作为参数的语法错误

在函数中使用 sys.argv 作为参数的语法错误

神不在的星期二 2022-09-27 09:31:05
收到由此行代码引起的语法错误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))


查看完整回答
反对 回复 2022-09-27
?
胡说叔叔

TA贡献1804条经验 获得超8个赞

函数传入参数和变量名称,无需在其中声明它们。您的代码应如下所示


def load(arguments):

    # Your Code

    firstArg = arguments[0]


load(sys.argv)


查看完整回答
反对 回复 2022-09-27
?
牧羊人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”设置为函数名称一样,这不起作用,因为它已经是一个函数。


查看完整回答
反对 回复 2022-09-27
  • 3 回答
  • 0 关注
  • 84 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信