📌  相关文章
📜  在Python中将列表作为命令行参数传递(1)

📅  最后修改于: 2023-12-03 15:07:55.692000             🧑  作者: Mango

在Python中将列表作为命令行参数传递

在Python中,有时候需要将列表作为命令行参数传递给脚本。下面介绍一种简单的方式。

argparse

argparse 是 Python 内置的用于解析命令行参数的模块,它支持使用 --option value-o value 的格式指定参数。

使用 argparse 可以轻松地实现接收列表类型的参数:

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('-l', '--list', nargs='+', help='a list of values')
args = parser.parse_args()

input_list = args.list
print(input_list)

在命令行中执行该脚本,输入一组值,比如:

python script.py -l 1 2 3 4 5

其中,-l 指定选项名称,nargs='+' 表示接收多个参数,而不是一个。

最终,程序将把数字列表作为参数值读入:

['1', '2', '3', '4', '5']
示例

下面是一份完整的示例代码。

import argparse

def main(input_list):
    print(input_list)

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('-l', '--list', nargs='+', help='a list of values')
    args = parser.parse_args()

    input_list = args.list
    main(input_list)

通过命令行输入参数(数字列表)来执行脚本:

python script.py -l 1 2 3 4 5

输出结果:

['1', '2', '3', '4', '5']
结论

使用 argparse 解析命令行参数可以轻松地实现将列表作为命令行参数传递给脚本。这样,我们就可以根据不同的需求,灵活地调整程序的输入内容了。