使用整数参数运行脚本

时间:2014-07-13 23:38:09

标签: python python-2.7

我们说我有这个剧本。

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

filename, value1, value2 = argv

print value1 + value2

现在,我希望将两个变量value1value2作为整数传递。现在,当我在命令行中运行它时,我会得到类似的东西。

pi@raspberrypi -/Desktop $ python test.py 2 2
22

我想要这样的事情发生。

pi@raspberrypi -/Desktop $ python test.py 2 2
4

我该怎么做?

3 个答案:

答案 0 :(得分:4)

将参数转换为整数。

import sys
value1, value2 = (int(x) for x in sys.argv[1:])

这当然假设你正好期待两个可以转换为整数的参数。

如果您想传递任意数量的整数,可以使用

获取它们的列表
argnums = [int(x) for x in sys.argv[1:]]

此外,如果您计划编写严格的命令行界面,请考虑使用argparse

答案 1 :(得分:3)

argv上的所有内容都是字符串。您需要手动将它们转换为整数,例如:

value1 = int(argv[1])
value2 = int(argv[2])

答案 2 :(得分:2)

那是因为参数是作为字符串收到的。

你能做什么?将它们转换为int

value1 = int(value1)
value2 = int(value2)