gpt4 book ai didi

python - 解析数字的命令行输入

转载 作者:太空狗 更新时间:2023-10-29 19:34:57 24 4
gpt4 key购买 nike

我正在编写命令行应用程序,希望用户能够输入数字作为单个数字或范围。所以,例如:

$ myapp -n 3,4,5,6

$ myapp -n 3-6

我希望我的应用程序将它们放入 Python 列表中,例如 [3, 4, 5, 6]我正在使用 optparse,但我不确定如何从这两种类型的输入创建列表。一些示例代码会很棒。

编辑

我也希望能够输入多个范围:

$ myapp -n 22-27, 51-64

最佳答案

import argparse

def parse_range(astr):
result = set()
for part in astr.split(','):
x = part.split('-')
result.update(range(int(x[0]), int(x[-1]) + 1))
return sorted(result)

parser = argparse.ArgumentParser()
parser.add_argument('-n', type=parse_range)
args = parser.parse_args()
print(args.n)

产量

% script.py -n 3-6
[3, 4, 5, 6]

% script.py -n 3,6
[3, 6]

% script.py -n 22-27,51-64
[22, 23, 24, 25, 26, 27, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64]

关于python - 解析数字的命令行输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4726168/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com