我是靠谱客的博主 跳跃月饼,最近开发中收集的这篇文章主要介绍python argparse ArgumentParser 快速示例,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本文介绍了部分简单的python命令行参数添加方法

有空还是直接看文档吧

添加位置参数(即跟在python main.py后指定位置处参数)

# main.py
import argparse
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument('number', type=int)
# 实际上是调用int()将输入的字符串转化了
parser.add_argument('string', type=str)
namespace = parser.parse_args()
# 注意输入的先后顺序要固定了
print(namespace.number, namespace.string)
>>> python main.py 7 test
>>> 7 test
>>>
>>> python main.py test 7
>>> usage: main.py [-h] number string
>>> main.py: error: argument number: invalid int value: 'test'

添加可选参数以及记录参数是否出现过

# main.py
import argparse
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument('--number', type=int)
parser.add_argument('--string', type=str)
parser.add_argument('--appeared', action='store_true')
namespace = parser.parse_args()
print(namespace.number, namespace.string, namespace.appeared)
>>> python main.py --number=7 --string=test --appeared
>>> 7 test True
>>>
>>> python main.py --number 7 --string test
>>> 7 test False

添加默认参数值

# main.py
import argparse
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument('--number', type=int, default=1)
namespace = parser.parse_args()
print(namespace.number)
>>> python main.py --number=7
>>> 7
>>>
>>> python main.py
>>> 1

添加多个参数

# main.py
import argparse
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument('--numbers', type=int, default=[1, 1, 1], nargs=3)
# 相当于往后读了3个参数,并把这些参数都经过int()处理,最终送到list中
namespace = parser.parse_args()
print(namespace.numbers)
>>> python main.py --numbers 2 3 4
>>> [2, 3, 4]
>>>
>>> python main.py --numbers=2 3 4
>>> usage: main.py [-h] [--numbers NUMBERS NUMBERS NUMBERS]
>>> main.py: error: argument --numbers: expected 3 arguments
>>>
>>> python main.py
>>> [1, 1, 1]

最后

以上就是跳跃月饼为你收集整理的python argparse ArgumentParser 快速示例的全部内容,希望文章能够帮你解决python argparse ArgumentParser 快速示例所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部