如何在命令行中读取浮点数或整数?
test.py 11 22.4 11.7 99.9 69
我试过了:
numbersList = float(sys.argv[1:len(sys.argv)])
答案 0 :(得分:11)
import sys
args = map(float, sys.argv[1:])
或者如果您更喜欢列表理解:
args = [float(x) for x in sys.argv[1:]]
答案 1 :(得分:1)
要迭代列表,请尝试:
numbersList = [float(sys.argv[i]) for i in range(1, len(sys.argv))]
答案 2 :(得分:1)
如果您只是将信息作为数字读入并且不需要区分整数和浮点数,那么您可以尝试这样的事情
import sys
print sum(map(float, sys.argv[1:]))
答案 3 :(得分:1)
更高级别的解决方案,直接使用argparse
代替sys.argv
:
import argparse
p = argparse.ArgumentParser()
p.add_argument('values', nargs="*", type=float)
args = p.parse_args()
numbersList = args.values