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 param3
或 commandname 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
,那就太好了的、hello
和 salut
的值按名称而不是按位置。
您可以创建一个 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
有谁知道 Linux 上的 python3
命令是否可以在其后加上某种 SOME_NAMED_OPTION=filename.py
而不是仅仅调用 python3 filename.py
?
我有一个作业调度工具,我想用它执行一个 Python 脚本,有点笨。
它只能 运行 Linux CLI 命令 commandname param1 param2 param3
或 commandname 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
,那就太好了的、hello
和 salut
的值按名称而不是按位置。
您可以创建一个 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