我从:
打印argsif __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']
答案 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()]