Python 3 argparse:如何在一个位置参数中接受所有浮点值和字符串列表?

罗伊

在不描述我的程序真正做了什么的情况下,让我告诉一个假用例,它应该足以证明我预期的参数用法。

假设我正在构建一个警报程序(同样,这是一个假用例,所以请不要开始告诉我我们在 Linux/Windows 中有本机警报)。它可以在特定的预定义时间(例如“早上”、“中午”)和给定的分钟数后发出警报。我希望我的命令接受这些用例:

$ python alarm_at.py morning
$ python alarm_at.py noon
$ python alarm_at.py evening
$ python alarm_at.py 1
$ python alarm_at.py 2
$ python alarm_at.py 3
...

限制是我只想为此目的使用一个位置参数。此外,可能还有我需要的其他位置参数,所以应该允许这样的事情:

$ python alarm_at.py loud morning long
$ python alarm_at.py low 3 short

在上面,我有两个假想的位置参数,分别指定了警报声的响度和长度。

耳垂

如果你检查这个,你会发现这个:

type= 可以接受任何接受单个字符串参数并返回转换后的值的可调用对象

>>> def perfect_square(string):
...     value = int(string)
...     sqrt = math.sqrt(value)
...     if sqrt != int(sqrt):
...         msg = "%r is not a perfect square" % string
...         raise argparse.ArgumentTypeError(msg)
...     return value
...
>>> parser = argparse.ArgumentParser(prog='PROG')
>>> parser.add_argument('foo', type=perfect_square)
>>> parser.parse_args(['9'])
Namespace(foo=9)
>>> parser.parse_args(['7'])
usage: PROG [-h] foo
PROG: error: argument foo: '7' is not a perfect square

因此,您可以创建一个接受所需值并将其设置为参数类型的函数。无论您是否以正确的顺序设置了多少个位置参数,都无关紧要required

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在python 3的列表中添加所有字符串类型的数字

来自分类Dev

如何在python 3中读写字符串列表到文件?

来自分类Dev

如何在python中的另外3个引号字符串中嵌套一个条件3个引号字符串?

来自分类Dev

如何使用python3中的一个for循环从列表中的字符串中删除数字?

来自分类Dev

Python:__init __()接受2个位置参数,但给出了3个

来自分类Dev

Python-peewee接受2个位置参数,但给出了3个

来自分类Dev

如何`str.join`两个列表到Python3中所有组合的字符串?

来自分类Dev

在列表中的字符串中查找最后一个单词(Pandas,Python 3)

来自分类Dev

在Python的字符串列表中创建一个整数(和元组)列表

来自分类Dev

从Python的字符串列表中创建一个整数(和元组)列表

来自分类Dev

send_email() 接受 1 个位置参数,但给出了 3 个 - Django Python

来自分类Dev

在Python3的整数和字符串列表中查找最低编号的索引

来自分类Dev

Python3-仅接受一个参数并使用递归返回列表的函数

来自分类Dev

值是一个浮点数python 3

来自分类Dev

Python 3:检查一个字符串是否有另一个列表中的多个匹配项

来自分类Dev

如何计算Python3中未排序的字符串列表中元素的频率?

来自分类Dev

是否有一个模块可以计算 Python 中字符串列表的出现次数?

来自分类Dev

如何在python3中将浮点数和字符串转换为整数值

来自分类Dev

如何使用Python对两个.CSV文件中的仅前3个位置进行排序和存储,然后将它们存储在一个.CSV文件中的两列中?

来自分类Dev

如何检查列表中是否有超过 3 个相同的字符串,Python

来自分类Dev

这里抛出了TypeError异常:init()接受2个位置参数,但使用Selenium和Python的显式等待给出3个

来自分类Dev

字符串列表的python argparse选择接受唯一的部分列表元素

来自分类Dev

如何在 Python 3 的同一个键中附加多个值?

来自分类Dev

从一行中分割字符串并在python 3中追加一个列表

来自分类Dev

如何知道一个字符串是否属于python中字符串列表的组合?

来自分类Dev

Python 3:如何搜索和检索构成字典的所有列表(如果它们包含特定字符串)

来自分类Dev

用python中的字符串列表替换一个字符串列表

来自分类Dev

如何有效地将字典中的字符串列表与Python中的另一个字典列表进行比较?

来自分类Dev

Python 3:将字符串列表写入csv文件

Related 相关文章

  1. 1

    如何在python 3的列表中添加所有字符串类型的数字

  2. 2

    如何在python 3中读写字符串列表到文件?

  3. 3

    如何在python中的另外3个引号字符串中嵌套一个条件3个引号字符串?

  4. 4

    如何使用python3中的一个for循环从列表中的字符串中删除数字?

  5. 5

    Python:__init __()接受2个位置参数,但给出了3个

  6. 6

    Python-peewee接受2个位置参数,但给出了3个

  7. 7

    如何`str.join`两个列表到Python3中所有组合的字符串?

  8. 8

    在列表中的字符串中查找最后一个单词(Pandas,Python 3)

  9. 9

    在Python的字符串列表中创建一个整数(和元组)列表

  10. 10

    从Python的字符串列表中创建一个整数(和元组)列表

  11. 11

    send_email() 接受 1 个位置参数,但给出了 3 个 - Django Python

  12. 12

    在Python3的整数和字符串列表中查找最低编号的索引

  13. 13

    Python3-仅接受一个参数并使用递归返回列表的函数

  14. 14

    值是一个浮点数python 3

  15. 15

    Python 3:检查一个字符串是否有另一个列表中的多个匹配项

  16. 16

    如何计算Python3中未排序的字符串列表中元素的频率?

  17. 17

    是否有一个模块可以计算 Python 中字符串列表的出现次数?

  18. 18

    如何在python3中将浮点数和字符串转换为整数值

  19. 19

    如何使用Python对两个.CSV文件中的仅前3个位置进行排序和存储,然后将它们存储在一个.CSV文件中的两列中?

  20. 20

    如何检查列表中是否有超过 3 个相同的字符串,Python

  21. 21

    这里抛出了TypeError异常:init()接受2个位置参数,但使用Selenium和Python的显式等待给出3个

  22. 22

    字符串列表的python argparse选择接受唯一的部分列表元素

  23. 23

    如何在 Python 3 的同一个键中附加多个值?

  24. 24

    从一行中分割字符串并在python 3中追加一个列表

  25. 25

    如何知道一个字符串是否属于python中字符串列表的组合?

  26. 26

    Python 3:如何搜索和检索构成字典的所有列表(如果它们包含特定字符串)

  27. 27

    用python中的字符串列表替换一个字符串列表

  28. 28

    如何有效地将字典中的字符串列表与Python中的另一个字典列表进行比较?

  29. 29

    Python 3:将字符串列表写入csv文件

热门标签

归档