假设我有这个脚本。
#!/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)
我怎样才能做到这一点?
将您的参数转换为整数。
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。
| 归档时间: |
|
| 查看次数: |
5009 次 |
| 最近记录: |