如何用脚本处理参数

时间:2016-09-21 09:50:08

标签: python python-3.x

我从:

打印args
if __name__ == '__main__':
  print('The sys.argv is :\n',sys.argv)

并发现所有参数都转换为字符串,我不知道如何处理它。

命令python3 MAX_HEAPIFY.py [1,2,3,4,5,6,7,8,9,10] 2

输出:['MAX_HEAPIFY.py', '[1,2,3,4,5,6,7,8,9,10]', '2']

1 个答案:

答案 0 :(得分:0)

您需要了解python接受命令行上的所有输入作为字符串。由您来处理代码中的args。

理想情况下,您可以使用argparse使其更加健壮,但是对于此示例,您可以运行如下命令:

python3 MAX_HEAPIFY.py "1,2,3,4,5,6,7,8,9,10" 2

然后,您将使用my_list = sys.argv[1].split(",")将您的第一个arg作为列表进行处理。

显然你需要处理类型转换和特定于你的逻辑的东西,但我希望这能为你提供一个起点。

编辑:

如果您需要将my_list转换为整数列表,可以使用这样的列表解析:

my_int_list = [int(i) for i in my_list if i.isdigit()]