如何在命令行中读取浮点数?

时间:2013-09-03 17:20:20

标签: python python-3.x

如何在命令行中读取浮点数或整数?

test.py 11 22.4 11.7 99.9 69

我试过了:

numbersList = float(sys.argv[1:len(sys.argv)])

4 个答案:

答案 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