使用整数参数运行脚本

Vla*_*tin 4 python python-2.7

假设我有这个脚本。

#!/usr/bin/env python    
from sys import argv 

filename, value1, value2 = argv

print value1 + value2
Run Code Online (Sandbox Code Playgroud)

现在,我想要两个变量,value1并将value2其作为整数传递。现在,当我在命令行中运行它时,我会得到类似的结果。

#!/usr/bin/env python    
from sys import argv 

filename, value1, value2 = argv

print value1 + value2
Run Code Online (Sandbox Code Playgroud)

我希望这样的事情发生。

pi@raspberrypi -/Desktop $ python test.py 2 2
22
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

tim*_*geb 5

将您的参数转换为整数。

import sys
value1, value2 = (int(x) for x in sys.argv[1:])
Run Code Online (Sandbox Code Playgroud)

当然,这假设您期望正好有两个可以转换为整数的参数。

如果您想传递任意数量的整数,您可以使用以下命令获取它们的列表

argnums = [int(x) for x in sys.argv[1:]]
Run Code Online (Sandbox Code Playgroud)

另外,如果您打算编写一个严肃的命令行界面,请考虑使用argparse