Python 可以针对具有脚本文件路径参数名称的脚本文件调用吗?

Can Python be invoked against a script file with a parameter-name for the script filepath?

有谁知道 Linux 上的 python3 命令是否可以在其后加上某种 SOME_NAMED_OPTION=filename.py 而不是仅仅调用 python3 filename.py

我有一个作业调度工具,我想用它执行一个 Python 脚本,有点笨。

它只能 运行 Linux CLI 命令 commandname param1 param2 param3commandname AAA=param1 BBB=param2 CCC=param3.

现有的业务惯例是将 filename.py 作为参数 #1,然后确保您的脚本对后续按数字排序的 sys.argv 列表成员的含义有很多注释,而您将调度工具设置为它的第一个模式,所以它 运行s python3 filename.py world mundo monde,但是如果能够将调度工具的参数命名为 #2+ 就太棒了,这样我就可以编写更人性化的 Python 程序。

使用 python3 -h 我没有找到给 filename.py 参数名称的方法,但我想我会看看是否有其他人这样做过,我只是想念它。

如果我可以让我的调度工具 运行 更像 python3 --scriptsource=filename.py --salut=monde --hola=mundo --hello=world 的命令,然后编写 filename.py 以使用 argparse 来获取 hola,那就太好了的、hellosalut 的值按​​名称而不是按位置。

您可以创建一个 python 文件作为脚本执行,如下例所示:

    #!/usr/bin/python3  # path to python in your system
    
    print('This is a script!')

如果您的 python 文件名为 test.py 您可以执行为 ./test.py 如果文件具有执行权限。要授予文件执行权限,请使用命令 chmod +x test.py

按照@daniboy000 的建议使用 Shebang 是执行此操作的首选方法,但如果由于某种原因您不能这样做,您应该能够做到 python3 mycommand --arg1 --arg2=x