Python脚本插入千位分隔符

时间:2014-05-15 04:46:38

标签: python

编辑:我知道之前有过类似的问题。除了已经了解Python的人询问它。我确实尝试了你建议的重复答案,但是它没有工作(当我用命令行参数运行它时,控制台中没有显示任何内容)。该解决方案似乎通过cmd line arg忽略输入值。我可以用其他语言轻松完成这项工作。但是对于本练习,我需要一个Python脚本。请帮我写一个准备好使用的脚本。对不起,如果这听起来像一个粗心的请求。我知道编程,这里的麻烦是我对Python一无所知。

这将用于使用Hive语言(Hadoop的一部分)的流式练习。这是规格:

  • 脚本从命令行参数中获取值并将结果返回到标准输出
  • 当值与数值兼容时,添加千位分隔符,否则重新输出相同的输入值。

示例:

$ InsertThousandSeparator.py 386
386

$ InsertThousandSeparator.py 1234567
1,234,567

$ InsertThousandSeparator.py 123ABC
123ABC

$ InsertThousandSeparator.py 123ABC456
123ABC456

$ InsertThousandSeparator.py Hello
Hello

$ InsertThousandSeparator.py 12345.67
12,345.67

带有小数的最后一个例子,如果它对代码来说太复杂了,可以跳过它。

非常感谢您提前寻求帮助。

1 个答案:

答案 0 :(得分:1)

好的,这是 - 一个Python 2.7的脚本。但请下次尝试一次提出一个问题,好吗?

import sys
arg = sys.argv[1]                  # get first command line parameter
if arg.isdigit():                  # integer value
    value = int(sys.argv[1])   
else:
    try:
        value = float(sys.argv[1]) # try float conversion
    except ValueError:             # if that fails
        value = None               # mark value as unusable
if value is not None:
    print "{:,}".format(value)     # print with thousands separator
else:                              # or, if not a number
    print arg                      # print as-is.