首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python中optparse的使用

python中optparse的使用

作者头像
the5fire
发布2019-02-28 16:24:36
9560
发布2019-02-28 16:24:36
举报

写爬虫的时候其实一开始都是从写一个命令行程序开始的,然后慢慢的扩展,扩展到一个完整的系统,当然根据现在的经验,这样扩展起来的系统,不如直接设计好系统的整体结构来的漂亮。

说到命令行爬虫,其实需要很多参数,通过命令行传参数,估计大家也都常用,尤其是linux用户。比如我用的ubuntu,显示当前目录下的文件列表:ls -la或者是过滤显示:ls -la|grep 'log'

那么在python中怎么来接受命令行传递过来的参数呢?

比如要实现这样的功能:python fetch.py http://www.baidu.com

普通的python代码是这样的:

#demo1

import sys

if __name__ == '__main__':
	url = sys.argv[1]	#不可取的代码,根本没进行逻辑判断
	fetch(url)			#假设这个函数已经存在。

文艺的python代码就是用optparse来实现:

不过你使用的时候应该这样优雅的使用:

python fetch.py -u http://www.baidu.com

当你不知道需要传递什么参数的时候,只需python fetch.py -h,optparse会自动帮你输出你定义好的参数和说明

来看代码:

#demo2

from optparse import OptionParser

if __name__ == '__main__':

    parser = OptionParser()

    parser.add_option("-u", "--url", dest="url",
                        help="the webpage url you want to fetch.eg:-u http://www.baidu.com")

	(options, args) = parser.parse_args() #parser.parse_args处理之后给option返回一个字典对象,对象的key就是你上面设置的dest的值

    fetch(options.url)	

二B的python代码就是用着optparse,做着老套的事:

#demo3

from optparse import OptionParser

if __name__ == '__main__':

    parser = OptionParser()

    parser.add_option("-u", "--url", dest="url",
                        help="the webpage url you want to fetch.eg:-u http://www.baidu.com")

	(options, args) = parser.parse_args() #parser.parse_args处理之后,把不是以 -u 传递的参数作为数组传递到args中

    fetch(args[0])	

上面三个简单的小例子,简单的说了下optparse之于命令行的作用,那么来概念一下这个东西:

官网描述如下:“optparse is a more convenient, flexible, and powerful library for parsing command-line options ” 意思是,这个玩意是用来处理命令行参数时,一个方便、灵活、功能强大的库。

根多的使用还是上这里看吧,我觉得写的很详细了:http://docs.python.org/library/optparse.html

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2012-07-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档