![是否可以将参数传递到 Python 脚本中?](https://linux22.com/image/75612/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E5%B0%86%E5%8F%82%E6%95%B0%E4%BC%A0%E9%80%92%E5%88%B0%20Python%20%E8%84%9A%E6%9C%AC%E4%B8%AD%EF%BC%9F.png)
我知道如何将参数传递到 shell 脚本中。这些参数在 AWS datapipeline 中声明并传递。 shell 脚本如下所示:
firstarg=$1
secondarg=$2
我如何在 Python 中做到这一点?是完全相同的吗?
答案1
这对我有用:
import sys
firstarg=sys.argv[1]
secondarg=sys.argv[2]
thirdarg=sys.argv[3]
答案2
您可以使用 sys 中的 argv
from sys import argv
arg1, arg2, arg3, ... = argv
实际上,您可以在命令行中放置任意数量的参数。 argv 将是一个包含参数的列表。因此它也可以被称为 arg1 = sys.argv[0] arg2 = sys.argv[1] 。 。 。
还要记住 sys.argv[0] 只是你的 python 程序的名称。此外,当您使用命令行输入时,“eval”和“exec”函数非常有用。通常,命令行中的所有内容都被解释为字符串。因此,如果您想在命令行中给出公式,请使用 eval()。
>>> x = 1
>>> print eval('x+1')
2
答案3
import sys
# Display File name
print("Script name ", sys.argv[0])
# Display the first argument
print(f"first arg {sys.argv[1]}")