python命令解析_python解析命令行
可以解析这样的命令
./cron_ctrl jobname1 --stop ;./cron_ctrl jobname1 --start;./cron_ctrl jobname1 --list
#!/usr/bin/env python
importosimportsysfrom optparse importOptionParserdefcronOptionParser():
name=sys.argv[1]#print name
parser =OptionParser()
parser.add_option("","--stop",dest="stopname",action="store_false",help="stop a job") #store_false 表示--stop 不带参数,stopname用来判断命令中是否有--stop
parser.add_option("","--start",dest="startname",action="store_false",help="start a job")
parser.add_option("-l","--list",dest="listname",action="store_false",help="list a job")
(options,args)=parser.parse_args()
stopname=options.stopname
startname=options.startname
listname=options.listnameif stopname!=None:###do something ###
os.system(‘crontab -e‘)if startname!=None:###do something ###
os.system(‘crontab -e‘)if listname!=None:###do somethind ###
os.system(‘crontab -l | grep name‘)if __name__=="__main__":
cronOptionParser()
以上代码主要参考http://blog.csdn.net/azhao_dn/article/details/6921441
需要注意的是一些参数 比如说 -o file 这里的-o后面需要加参数,而有些比如说-h 不需要加参数,这两种要注意区别对待
上面这个实现略显繁琐,所以有下面的
import sys
import getopt
def TestGetOpt():
try:
opts, args = getopt.getopt(sys.argv[1:],‘d:f:h‘,[‘days=‘,‘files=‘,‘help‘])
except getopt.GetoptError:
usage()
sys.exit()
print (opts)
print (args)
for o, a in opts:
if o in ("-h", "--help"):
usage()
sys.exit()
elif o in ("-d", "--days"):
day = a
elif o in ("-f", "--files"):
files = a
print (day)
print (files)
对于程序的解释是
1. 处理所使用的函数叫getopt(),因为是直接使用import导入的getopt模块,所以要加上限定getopt才可以。
2. 使用sys.argv[1:]过滤掉第一个参数(它是执行脚本的名字,不应算作参数的一部分)。
3.
使用短格式分析串"ho:"。当一个选项只是表示开关状态时,即后面不带附加参数时,在分析串中写入选项字符。当选项后面是带一个附加参数时,在分析串中
写入选项字符同时后面加一个":"号。所以"ho:"就表示"h"是一个开关选项;"o:"则表示后面应该带一个参数。
4. 使用长格式分析串列表:["help", "output="]。长格式串也可以有开关状态,即后面不跟"="号。如果跟一个等号则表示后面还应有一个参数。这个长格式表示"help"是一个开关选项;"output="则表示后面应该带一个参数。
5. 调用getopt函数。函数返回两个列表:opts和args。opts为分析出的格式信息。args为不属于格式信息的剩余的命令行参数。opts是一个两元组的列表。每个元素为:(选项串,附加参数)。如果没有附加参数则为空串‘‘。
6. 整个过程使用异常来包含,这样当分析出错时,就可以打印出使用信息来通知用户如何使用这个程序。
最后,这里http://lingxiankong.github.io/blog/2014/01/14/command-line-parser/ 给出了更多的方法。
原文:http://www.cnblogs.com/cdwodm/p/4495862.html
python命令解析_python解析命令行相关推荐
- python退出语句_python退出命令
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 要退出python命令行,我必须输入exit(). 如果我输入退出,它提示:us ...
- python实时定位_Python实现命令行监控北京实时公交之一
开头先放上效果展示 在命令行输入 python bus.py -i,显示app基本信息,如下: 在命令行输入 python bus.py 438,显示北京438路公交车的位置,如下: 红色的B说明在梅 ...
- python terminal调试_python执行命令行调试工具pdb
调试 pdb pdb是基于命令行的调试工具,非常类似gnu的gdb(调试c/c++). 命令简写命令作用 break b 设置断点(用法,b :在第数字行设置断点................... ...
- python 通讯录 字典_Python实现命令行通讯录
1.实现目标 编写一个命令行通讯录程序,可以添加.查询.删除通讯录好友及电话 2.实现方法 创建一个类来表示一个人的信息.使用字典存储每个人的对象,名字作为键. 使用pickle模块永久地把这些对象存 ...
- python写通讯录_Python实现命令行通讯录实例教程
1.实现目标 编写一个命令行通讯录程序,可以添加.查询.删除通讯录好友及电话 2.实现方法 创建一个类来表示一个人的信息.使用字典存储每个人的对象,名字作为键. 使用pickle模块永久地把这些对象存 ...
- python写通讯录_Python实现命令行通讯录
1.实现目标 编写一个命令行通讯录程序,可以添加.查询.删除通讯录好友及电话 2.实现方法 创建一个类来表示一个人的信息.使用字典存储每个人的对象,名字作为键. 使用pickle模块永久地把这些对象存 ...
- python常用命令格式_python常用命令有哪些
原标题:python常用命令有哪些 Python是一种计算机程序设计语言.是一种动态的.面向对象的脚本语言.它包含了许多命令来帮助我们实现各种各有的功能,接下来在文章中为大家分享 [推荐课程:Pyth ...
- python xml字符串_python -解析字符串,并返回xml格式字符串 急该如何解决
python --解析字符串,并返回xml格式字符串 急急急. str = """Registrations: ============================= ...
- python pyquery库_python解析HTML之:PyQuery库的介绍与使用
前言 Python关于爬虫的库挺多的,也各有所长.了解前端的也都知道, jQuery 能够通过选择器精确定位 DOM 树中的目标并进行操作,所以我想如果能用 jQuery 去爬网页那就 cool 了. ...
最新文章
- 2020这一年,我完成了这几件大事
- 由粗到精学习LVI-SAM基础:多传感器内外参标定原理
- Tengine(nginx) 搭建Tomcat集群
- 【leetcode】1007. Minimum Domino Rotations For Equal Row
- oracle的文件后缀名,转:数据文件的扩展名是ora,dbf,dat的,有什么区别?
- 偷梁换柱做自己的封装系统
- Code Runner for VS Code 突破 1000 万下载量!支持运行超过 40 种语言
- php开发环境 ubuntu,Ubuntu配置PHP开发环境
- 程序员,这600单词你知道吗?
- github 代理_GitHub访问提速方法
- Android开发笔记(十八)书籍翻页动画PageAnimation
- 手写一个类django框架
- 计算机三级数据库:课本知识点总结以及备考方案建议
- 在五环六环之间,有最真实的北京
- 上架Google Play Store,国内这些SDK千万不能用,小心被拒!
- 设计模式---外观(Facade)模式
- 监控易携手三大运营商,助推安徽省农行三级网扁平化管理
- linux下实现root用户和其他用户之间转换
- 计算机表格函数知识点,Excel知识点大全
- 苹果电脑打开wps云文档方法