是否可以将参数传递到Python脚本中?


17

我知道如何将参数传递给Shell脚本。这些参数在AWS数据管道中声明并传递。这是一个shell脚本:

firstarg=$1
secondarg=$2

如何在Python中执行此操作?完全一样吗?


在询问之前您是否尝试过搜索?搜索google以将参数传递给python脚本会带来您需要的所有信息。作为第四个链接,我从Stackoverflow处获得了Python中的命令行参数问题。
Piotr Dobrogost

3
搜索谷歌传递参数到python脚本带来了这篇文章。
Davide Andrea'9

Answers:


30

这为我工作:

import sys
firstarg=sys.argv[1]
secondarg=sys.argv[2]
thirdarg=sys.argv[3]

是的,行得通。出于某种原因,索引不是从0开始的。所以sys.argv[0]它等于

14
argv[0]应该是脚本名称
Peter Gerhat

3

您可以使用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

0
import sys
print("Script name ", sys.argv[0])
print(first arsys.argv[1])

1
您应该在sample.py中输入此内容并使用参数进行调用。
ArunSK '19

ArunSK,您可以编辑答案以包括您的评论。:)
James Skemp
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.