python标准库介绍——26 getopt 模块详解
2024-09-27 15:13:30
==getopt 模块== ``getopt`` 模块包含用于抽出命令行选项和参数的函数,
它可以处理多种格式的选项. 如 [Example 2-23 #eg-2-23] 所示. 其中第 2 个参数指定了允许的可缩写的选项. 选项名后的冒号(:) 意味这这个选项必须有额外的参数. ====Example 2-23. 使用 getopt 模块====[eg-2-23] ```
File: getopt-example-1.py import getopt
import sys # simulate command-line invocation
# 模仿命令行参数
sys.argv = ["myscript.py", "-l", "-d", "directory", "filename"] # process options
# 处理选项
opts, args = getopt.getopt(sys.argv[1:], "ld:") long = 0
directory = None for o, v in opts:
if o == "-l":
long = 1
elif o == "-d":
directory = v print "long", "=", long
print "directory", "=", directory
print "arguments", "=", args *B*long = 1
directory = directory
arguments = ['filename']*b*
``` 为了让 ``getopt`` 查找长的选项, 如 [Example 2-24 #eg-2-24] 所示,
传递一个描述选项的列表做为第 3 个参数. 如果一个选项名称以等号(=) 结尾,
那么它必须有一个附加参数. ====Example 2-24. 使用 getopt 模块处理长选项====[eg-2-24] ```
File: getopt-example-2.py import getopt
import sys # simulate command-line invocation
# 模仿命令行参数
sys.argv = ["myscript.py", "--echo", "--printer", "lp01", "message"] opts, args = getopt.getopt(sys.argv[1:], "ep:", ["echo", "printer="]) # process options
# 处理选项
echo = 0
printer = None for o, v in opts:
if o in ("-e", "--echo"):
echo = 1
elif o in ("-p", "--printer"):
printer = v print "echo", "=", echo
print "printer", "=", printer
print "arguments", "=", args *B*echo = 1
printer = lp01
arguments = ['message']*b*
``` ```
[!Feather 注: 我不知道大家明白没, 可以自己试下:
myscript.py -e -p lp01 message
myscript.py --echo --printer=lp01 message
]
```
最新文章
- [deviceone开发]-openPage的动画效果示例
- 【Alpha版本】十天冲刺——日志集合贴
- 苹果微信input输入框被键盘遮挡
- bootstrap表格内容跑到表格外面的处理办法
- 记录archlinux中安装pcl的大致流程
- 现在的SQLSERVER数据库监控软件有哪些?
- July 20th, Week 30th Wednesday, 2016
- 获取Spring的ApplicationContext的方法
- sublime 安装常用插件
- Timer定时器
- Android 获取当前日期算前一年、前一月、前一天Calendar
- KVO底层实现原理,仿写KVO
- python堆栈实现
- 在阿里云服务器上安装完成并启动Tomcat后,通过http不能访问--解决办法
- 简单工厂模式demo
- Hive记录-hive权限控制
- godaddy如何联系客服帮助的技巧和方法
- vue-cli的webpack模板项目配置文件分析,配置信息详解
- MyBatis代理开发(2)
- mybatis学习 十四 resultMap标签 一对一(联合查询)