python获取命令参数 argparse模块

 

示例代码如下:

复制代码
 1 #encoding=utf-8
 2 import argparse
 3 
 4 def main(args):
 5     print("--address {0}".format(args.code_address))    #args.address会报错,因为指定了dest的值
 6     print("--flag {0}".format(args.flag))   #如果命令行中该参数输入的值不在choices列表中,则报错
 7     print("--port {0}".format(args.port))   #prot的类型为int类型,如果命令行中没有输入该选项则报错
 8     print("-l {0}".format(args.log))  #如果命令行中输入该参数,则该值为True。因为为短格式"-l"指定了别名"--log",所以程序中用args.log来访问
 9 
10 if __name__ == '__main__':
11     parser = argparse.ArgumentParser(usage="it's usage tip.", description="help info.")
12     parser.add_argument("--address", default=80, help="the port number.", dest="code_address")
13     parser.add_argument("--flag", choices=['.txt', '.jpg', '.xml', '.png'], default=".txt", help="the file type")
14     parser.add_argument("--port", type=int, required=True, help="the port number.")
15     parser.add_argument("-l", "--log", default=False, action="store_true", help="active log info.")
16 
17     args = parser.parse_args()
18     main(args)
复制代码

 

 

分别运行下述命令:

python test_argparse.py

python test_argparse.py --port 80

python test_argparse.py --port 80 --flag apk

python test_argparse.py --port 80 -l

posted @   测试充电宝  阅读(552)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?
点击右上角即可分享
微信分享提示