我想以参数作为列表来运行Python脚本。脚本需要获取该参数并将其转换为列表。参数中的列表元素可以由commas、spaces或comma+space分隔,如下所示:
python test.py 1,2,3,4
python test.py 1 2 3 4
python test.py 1, 2, 3, 4为了适应第一种选择,我做了以下工作,这似乎是可行的:
>> import sys
>> myList = sys.argv[1]
>> myList = myList.split(",")
>> myList = [int(i) for i in myList]
[1, 2, 3, 4]如何修改此脚本以适应其他两个选项?
发布于 2018-03-13 18:29:04
在sys.argv[1:]上循环,在,上拆分每个部分,收集为int
import sys
l = []
for a in sys.argv[1:]:
for part in a.split(","):
if part.strip():
l.append(int(part.strip()))
print(l)输出是
[1, 2, 3, 4]所有的投入。
发布于 2018-03-13 18:27:58
就我个人而言,我需要一种输入格式来进行良好的测量。
就目前情况而言,您别无选择,只能以不同的方式处理每一案件,或至少处理每一组案件。按照你迄今所做的,你似乎能胜任这项任务。要用多个论点来处理这两种情况,最简单的方法是去掉任何可能或不存在的逗号:
args = [arg.strip(',') for arg in sys.argv[1:]]发布于 2021-12-16 06:44:27
import sys
sql_string = [x for x in sys.argv[1].split(',')]
print(sql_string)
# Output:
# python test.py 1,2
# ['1', '2']https://stackoverflow.com/questions/49263249
复制相似问题