我想运行一个带有参数列表的 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]
如何修改此脚本以适应其他两个选项?
请您参考如下方法:
遍历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]
对于所有输入。
