首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用以逗号和空格分隔的列表作为参数来运行Python脚本?

如何使用以逗号和空格分隔的列表作为参数来运行Python脚本?
EN

Stack Overflow用户
提问于 2018-03-13 18:20:31
回答 3查看 1.4K关注 0票数 1

我想以参数作为列表来运行Python脚本。脚本需要获取该参数并将其转换为列表。参数中的列表元素可以由commasspacescomma+space分隔,如下所示:

代码语言:javascript
复制
python test.py 1,2,3,4
python test.py 1 2 3 4
python test.py 1, 2, 3, 4

为了适应第一种选择,我做了以下工作,这似乎是可行的:

代码语言:javascript
复制
>> import sys
>> myList = sys.argv[1]
>> myList = myList.split(",") 
>> myList = [int(i) for i in myList]

[1, 2, 3, 4]

如何修改此脚本以适应其他两个选项?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-03-13 18:29:04

sys.argv[1:]上循环,在,上拆分每个部分,收集为int

代码语言:javascript
复制
import sys

l = []
for a in sys.argv[1:]:
    for part in a.split(","):
        if part.strip():
            l.append(int(part.strip()))
print(l)

输出是

代码语言:javascript
复制
[1, 2, 3, 4]

所有的投入。

票数 3
EN

Stack Overflow用户

发布于 2018-03-13 18:27:58

就我个人而言,我需要一种输入格式来进行良好的测量。

就目前情况而言,您别无选择,只能以不同的方式处理每一案件,或至少处理每一组案件。按照你迄今所做的,你似乎能胜任这项任务。要用多个论点来处理这两种情况,最简单的方法是去掉任何可能或不存在的逗号:

代码语言:javascript
复制
args = [arg.strip(',') for arg in sys.argv[1:]]
票数 2
EN

Stack Overflow用户

发布于 2021-12-16 06:44:27

代码语言:javascript
复制
import sys

sql_string = [x for x in sys.argv[1].split(',')]

print(sql_string)

# Output:
# python test.py 1,2

# ['1', '2']
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49263249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档