猿问

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

收到由此行代码引起的语法错误


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 的参数可以正常工作。有谁知道这个问题的解决方案吗?


神不在的星期二
浏览 85回答 3
3回答

紫衣仙女

不能用作函数参数。只需重命名参数,它就会起作用:sys.argvimport sysdef load(args):    # your logicprint(load(sys.argv))

胡说叔叔

函数传入参数和变量名称,无需在其中声明它们。您的代码应如下所示def load(arguments):    # Your Code    firstArg = arguments[0]load(sys.argv)

牧羊人nacy

如果你打算指定你想要在函数内使用sys.argv[1],你不需要任何类型的参数。您可以使其成为不需要参数的函数。import sysdef load():    with open(sys.argv[1]) as file:        # code to execute...        # code to execute...load()我的建议仅适用于只想使用一个命令行参数(在索引1处)打开一个文件的情况。如果你想使用其他命令行参数打开其他参数,你需要在函数中加入一个参数,比如“args”(就像David Teather说的那样),以使代码更加灵活。参数设置为要在函数范围内使用的新变量名称。在您的代码中,这就像您尝试将“sys.argv”设置为函数名称一样,这不起作用,因为它已经是一个函数。
随时随地看视频慕课网APP

相关分类

Python
我要回答