python 查看模块路径如何查看外部模块的使用方法,举例详细的讲一下,如何自己看doc就能理解模块方法如何使用及调用

查看Python包模块中的函数
在使用python的过程中有时需要import其他的包模块,而此时我们需要查看这个模块中提供了哪些函数,是否有像linux man一样可以查询的功能?在python中我们可以通过进入python控制台并导入相关的包模块,再使用help(模块名)来查看这个包模块的信息及相关的函数接口说明等。以下已pycurl包举例说明用法:1. 进入python 并导入包root@ubuntu:/home/lvjc/myPython# python
Python 3.5.2 (default, Nov 23 :01)
[GCC 5.4.0 ] on linux
Type "help", "copyright", "credits" or "license" for more information.
&&& import pycurl
2.通过help命令查看你需要man的函数&&& help(pycurl.Curl.getinfo)
Help on method_descriptor:
getinfo(...)
getinfo(info) -& Result
Extract and return information from a curl session.
Corresponds to `curl_easy_getinfo`_ in libcurl, where *option* is
the same as the ``CURLINFO_*`` constants in libcurl, except that the
``CURLINFO_`` prefix has been removed. (See below for exceptions.)
*Result* contains an integer, float or string, depending on which
option is given. The ``getinfo`` method should not be called unless
``perform`` has been called and finished.
In order to distinguish between similarly-named CURLOPT and CURLINFO
constants, some have ``OPT_`` and ``INFO_`` prefixes. These are
``INFO_FILETIME``, ``OPT_FILETIME``, ``INFO_COOKIELIST`` (but ``setopt`` uses
``COOKIELIST``!), ``INFO_CERTINFO``, and ``OPT_CERTINFO``.
The value returned by ``getinfo(INFO_CERTINFO)`` is a list with one element
per certificate in the chain, st each element is a
sequence of *(key, value)* tuples.
Example usage::
import pycurl
c = pycurl.Curl()
c.setopt(pycurl.URL, "http://sf.net")
c.setopt(pycurl.FOLLOWLOCATION, 1)
c.perform()
print c.getinfo(pycurl.HTTP_CODE), c.getinfo(pycurl.EFFECTIVE_URL)
--& 200 "http://sourceforge.net/"
Raises pycurl.error exception upon failure.
.. _curl_easy_getinfo:
http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html
3. pydoc的用法:pydoc模块可以从python源码文件中获取docstring,然后生成帮助信息。3.1 纯文本帮助信息如在控制台输入命令 pydoc string 则会在控制台生成string的纯文本帮助信息。root@ubuntu:/home/lvjc/myPython# pydoc string
Help on module string:
string - A collection of string operations (most are no longer used).
/usr/lib/python2.7/string.py
MODULE DOCS
http://docs.python.org/library/string
DESCRIPTION
Warning: most of the code you see here isn't normally used nowadays.
Beginning with Python 1.6, many of these functions are implemented as
methods on the standard string object. They used to be implemented by
a built-in module called strop, but strop is now obsolete itself.
Public module variables:
whitespace -- a string containing all characters considered whitespace
lowercase -- a string containing all characters considered lowercase letters
uppercase -- a string containing all characters considered uppercase letters
letters -- a string containing all characters considered letters
digits -- a string containing all characters considered decimal digits
hexdigits -- a string containing all characters considered hexadecimal digits
:3.2 HTML帮助信息pydoc还可以生成HTML格式的帮助信息,可以将HTML帮助信息生成到静态文本中,也可以启动一个Web服务器在线浏览帮助文档。root@ubuntu:/home/lvjc/myPython# pydoc -w string //在当前目录创建string.html文件
root@ubuntu:/home/lvjc/myPython# pydoc -p 5000
//启动一个web服务器监听 http://localhost:5000/
没有更多推荐了,[root&#64;RG-PowerCache-X&xcache]#&nginx/sbin/nginx&-Vnginx&version:&nginx/1.2.3built&by&gcc&4.4.7&&(Red&Hat&4.4.7-3)&(GCC)&TLS&SNI&support&enabledconfigure&arguments:&--prefix=/opt/xcache/nginx&--with-ipv6&--with-http_ssl_module&--with-http_stub_status_module&--with-http_flv_module&--with-http_mp4_module&--without-http_ssi_module&--without-http_userid_module&--without-http_auth_basic_module&--without-http_autoindex_module&--without-http_geo_module&--without-http_map_module&--without-http_map_module&--without-http_memcached_module&--without-http_referer_module&--without-http_empty_gif_module&--without-http_browser_module&--with-http_secure_link_module&--with-sha1=auto/lib/sha1&--http-client-body-temp-path=/opt/xcache/nginx/tmp/client_body&--http-proxy-temp-path=/opt/xcache/nginx/tmp/proxy&--http-fastcgi-temp-path=/opt/xcache/nginx/tmp/fastcgi&--http-uwsgi-temp-path=/opt/xcache/nginx/tmp/uwsgi&--http-scgi-temp-path=/opt/xcache/nginx/tmp/scgi&--pid-path=/var/run/nginx.pid&--lock-path=/var/lock/subsys/nginx&--with-cc-opt='-O2&-g'&--add-module=./src/nginx-accesskey-2.0.3查看nginx 版本号命令:[root&#64;RG-PowerCache-X&xcache]#&nginx/sbin/nginx&-vnginx&version:&nginx/1.2.3怎么用最短时间高效而踏实地学习 Python? - 知乎有问题,上知乎。知乎作为中文互联网最大的知识分享平台,以「知识连接一切」为愿景,致力于构建一个人人都可以便捷接入的知识分享网络,让人们便捷地与世界分享知识、经验和见解,发现更大的世界。<strong class="NumberBoard-itemValue" title="2被浏览<strong class="NumberBoard-itemValue" title=",166,909分享邀请回答coursera.org/learn/hipython/home/welcome,用Python玩转数据,by Nanjing University,也非常方便贴心,而且是中文教程,老师讲的也很风趣幽默~对于那些对机器学习以及数据挖掘感兴趣的筒子们,这里还有两个免费的进阶版教程,
You got all the python codes to play with and a very detailed tutorial to understand the material. 如果是想为code interview做快速准备的筒子们,不妨尝试下Udacity的Algorithm and Data Structure in Python. 这门免费的课程会带着你快速的浏览一遍技术面试中所考察的基本知识.&img src="" data-rawwidth="1657" data-rawheight="1316" class="content_image" width="1657" data-original=""&感觉这个课程比起LeetCode来指导性要强一些,比较适合入门者.希望对不同需求的筒子们有帮助. :)2.7K79 条评论分享收藏感谢收起2.3K63 条评论分享收藏感谢收起如何快速知道要使用哪些python模块和有哪些功能
我的图书馆
如何快速知道要使用哪些python模块和有哪些功能
如何快速知道要使用哪些python模块和有哪些功能
1,查看python自带的lib, 例如:2,如果想看自己的python项目都导入了那些模块,可以用sys.modules输出来看下&&&&&&&&& import sys&&& sys.modules3,以上只列出了当前已经import的module,磁盘上没有import的不会被列出来。之后进入/usr/local/lib/python2.7/&&这里看4,擅用help()和dir()命令,例如:help()modules5,另外,Python还提供了若干内置的函数,用于在运行时操作指定对象的属性。具体如下: hasattr(obj, name)& #判断obj对象是否具有名为name的属性setattr(obj, name, value)& #设置obj对象的名为name的属性值为valuegetattr(obj, name)& #获取obj对象的名为name的属性值delattr(obj, name)& #删除obj对象的名为name的属性 6,内置的dir()函数进行反射,从而了解到某个对象分别都包含哪些属性type()函数获取对象的类型所有的Python对象,都可以通过内置的id()函数获取该对象的唯一标示。而且当一个对象创建之后,这个唯一标示就会始终保持不变。7,继承的语法  Python的继承语法,相比C++/Java而言,更加简洁。比如子类Child需要继承父类Parent,代码只需如下:class Child(Parent) :  如果是多继承,代码大同小异:class Child(Parent1, Parent2, Parent3) :  如果你想知道某个类有哪些父类(基类),只需要通过 Child.__bases__ 便可知晓。python challengehttp://wiki.python.org/moin/NumericAndScientifichttp://wiki.woodpecker.org.cn/moin/用Python做科学计算
[转]&[转]&
喜欢该文的人也喜欢使用 Python 模块 re 实现解析小工具
概要在开发过程中发现,Python 模块 re(Regular Expression)是一个很有价值并且非常强大的文本解析工具,因而想要分享一下此模块的使用方法。有这样一个简单而有趣的实践范例:对于喜欢追看美剧的年轻人,最新一集美剧的播出时间常常是一个让人头疼的问题,一个实时更新美剧播出时间表的小工具会很受欢迎。本文通过以上这个实例,描述如何抓获 TV.com 网站上的文本信息,利用 Python 的 re 模块进行解析,并将热门美剧播出时间显示在自己的网页上,希望能够以娱乐的方式很好的解释 re 模块的用法。Python 正则表达式模块 (re) 简介Python 的 re 模块(Regular Expression 正则表达式)提供各种正则表达式的匹配操作,和 Perl 脚本的正则表达式功能类似,使用这一内嵌于 Python 的语言工具,尽管不能满足所有复杂的匹配情况,但足够在绝大多数情况下能够有效地实现对复杂字符串的分析并提取出相关信息。Python 会将正则表达式转化为字节码,利用 C 语言的匹配引擎进行深度优先的匹配。Python 正则表达式语法正则表达式可以包含普通字符和特殊字符,普通字符(比如数字或者字母)可以直接对目标字符串进行匹配,在本文中我们主要讨论利用特殊字符来模糊匹配某一些字符串的方法,比如'|'或者'(',使用这些特殊字符,正则表达式可以表示某一类的普通字符,或者是改变其周围的正则表达式的含义。具体如表 2-1 所示:表 1. 正则表达式语法符号意义例子.
表示任意字符,如果说指定了 DOTALL 的标识,就表示包括新行在内的所有字符。
表示字符串开头。$
表示字符串结尾。
‘ test ’ 可以匹配‘ test ’和‘ testtool ’,但‘ test$ ’只能匹配‘ test ’。
'*'表示后面可跟 0 个或多个字符,'+'表示后面可跟 1 个或多个字符,'?'表示后面可跟 0 个或多个字符
‘ abc* ’可以匹配‘ abc ’ 或者‘ abcd ’或者‘ abcdefg ’等等。
*?, +?, ??
在上面的结果中只去第一个
&*& 会匹配'&H1&title&/H1&'整个字符串(贪婪匹配),使用 *? 可以只找出 &H1&(非贪婪匹配)
对于前一个字符重复 m 次
a{6} 匹配 6 个'a'
对于前一个字符重复 m 到 n 次
a{2,4} 匹配 2-4 个 a,a{2,} 匹配 2 个以上 a,a{,4} 匹配 4 个以下 a
对于前一个字符重复 m 到 n 次,并且取尽可能少的情况
在字符串'aaaaaa'中,a{2,4} 会匹配 4 个 a,但 a{2,4}? 只匹配 2 个 a
对特殊字符进行转义,或者是指定特殊序列
表示一个字符集
[abc] 会匹配字符 a,b 或者 c,[a-z] 匹配所有小写字母,[a-zA-Z0-9] 匹配所有字母和数字,[^6] 表示除了 6 以外的任意字符
或者,只匹配其中一个表达式
A|B,如果 A 匹配了,则不再查找 B,反之亦然
匹配括号中的任意正则表达式
注释,忽略括号内的内容
表达式’…’之前的字符串
在字符串’ pythonretest ’中 (?=test) 会匹配’ pythonre ’
后面不跟表达式’…’的字符串
如果’ pythonre ’后面不是字符串’ test ’,那么 (?!test) 会匹配’ pythonre ’
跟在表达式’…’后面的字符串符合括号之后的正则表达式
正则表达式’ (?&=abc)def ’会在’ abcdef ’中匹配’ def ’
括号之后的正则表达式不跟在’…’的后面
包含’ \ ’的特殊序列的意义如表 2-2:表 2. 正则表达式特殊序列特殊表达式序列意义\A
只在字符串开头进行匹配。
匹配位于开头或者结尾的空字符串
匹配不位于开头或者结尾的空字符串
匹配任意十进制数,相当于 [0-9]
匹配任意非数字字符,相当于 [^0-9]
匹配任意空白字符,相当于 [ \t\n\r\f\v]
匹配任意非空白字符,相当于 [^ \t\n\r\f\v]
匹配任意数字和字母,相当于 [a-zA-Z0-9_]
匹配任意非数字和字母的字符,相当于 [^a-zA-Z0-9_]
只在字符串结尾进行匹配
Python re 的主要功能Python 的 re 正则表达式模块定义了一系列函数,常量以及异常;同时,正则表达式被编译成‘ RegexObject ’实例,本身可以为不同的操作提供方法。接下来简要介绍一下这些函数的功能和用法。compilere.compile(pattern[, flags]) 把正则表达式的模式和标识转化成正则表达式对象,供 match() 和 search() 这两个函数使用。
re 所定义的 flag 包括:re.I 忽略大小写re.L 表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境re.M 多行模式re.S 即为’ . ’并且包括换行符在内的任意字符(’ . ’不包括换行符)re.U 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依赖于 Unicode 字符属性数据库re.X 为了增加可读性,忽略空格和’ # ’后面的注释例:以下两种用法结果相同:A) compiled_pattern = re.compile(pattern)
result = compiled_pattern.match(string)B) result = re.match(pattern, string)searchre.search(pattern, string[, flags])在字符串中查找匹配正则表达式模式的位置,返回 MatchObject 的实例,如果没有找到匹配的位置,则返回 None。对于已编译的正则表达式对象来说(re.RegexObject),有以下 search 的方法:search (string[, pos[, endpos]])若 regex 是已编译好的正则表达式对象,regex.search(string, 0, 50) 等同于 regex.search(string[:50], 0)。具体示例如下。 &&& pattern = re.compile("a")
&&& pattern.search("abcde")
# Match at index 0
&&& pattern.search("abcde", 1)
# Nmatchre.match(pattern, string[, flags]) 判断 pattern 是否在字符串开头位置匹配。对于 RegexObject,有:match(string[, pos[, endpos]])match() 函数只在字符串的开始位置尝试匹配正则表达式,也就是只报告从位置 0 开始的匹配情况,而 search() 函数是扫描整个字符串来查找匹配。如果想要搜索整个字符串来寻找匹配,应当用 search()。splitre.split(pattern, string[, maxsplit=0, flags=0])此功能很常用,可以将将字符串匹配正则表达式的部分割开并返回一个列表。对 RegexObject,有函数:split(string[, maxsplit=0])例如,利用上面章节中介绍的语法: &&& re.split('\W+', 'test, test, test.')
['test', 'test', 'test', '']
&&& re.split('(\W+)', ' test, test, test.')
[' test ', ', ', ' test ', ', ', ' test ', '.', '']
&&& re.split('\W+', ' test, test, test.', 1)
[' test ', ' test, test.']对于一个找不到匹配的字符串而言,split 不会对其作出分割,如: &&& re.split('a*', 'hello world')
['hello world']findallre.findall(pattern, string[, flags])在字符串中找到正则表达式所匹配的所有子串,并组成一个列表返回。同样 RegexObject 有:findall(string[, pos[, endpos]])示例如下: #get all content enclosed with [], and return a list
&&& return_list = re.findall("(\[.*?\])",string)finditerre.finditer(pattern, string[, flags])和 findall 类似,在字符串中找到正则表达式所匹配的所有子串,并组成一个迭代器返回。同样 RegexObject 有:finditer(string[, pos[, endpos]])subre.sub(pattern, repl, string[, count, flags])在字符串 string 中找到匹配正则表达式 pattern 的所有子串,用另一个字符串 repl 进行替换。如果没有找到匹配 pattern 的串,则返回未被修改的 string。Repl 既可以是字符串也可以是一个函数。对于 RegexObject 有:sub(repl, string[, count=0]) 此语法的示例有: &&& p = re.compile( '(one|two|three)')
&&& p.sub( 'num', 'one word two words three words')
'num word num words num words'同样可以用以下方法,并指定 count 为 1(只替换第一个):&&& p.sub( 'num', ' one word two words three words', count=1)' num word two words three words'subnre.subn(pattern, repl, string[, count, flags])该函数的功能和 sub() 相同,但它还返回新的字符串以及替换的次数。同样 RegexObject 有:subn(repl, string[, count=0])实例分析 - 使用 re 模块实现美剧时间表这一章节将描述使用 re 模块进行文本解析并实现美剧播出时间表小工具的细节。我们会引用实际的代码片段,解释在实际程序中,应当如何使用 re 模块实现文本解析的功能。需求分析为了将我们感兴趣的信息全部提取出来渲染到一个单独的页面上,我们选取 www.tv.com 的 html 作为数据源,获取到其 HTML 文本之后用正则表达式解析并获得相关内容。请注意用正则表达式分析 HTML 或 XML 是痛苦的。随处可见的变化使得写出一个通用的正则表达式变得极为困难,象这样的任务使用专用的 HTML 或 XML 解析器更为适宜 ( 如 http://www.crummy.com/software/BeautifulSoup/, 值得一提的是,这个解析器也是用 Python RE 实现的 ),为了演示 Python RE 的使用,本文全部使用正则表达式处理文本。实现步骤因为此工具的最后结果会被呈现在一个网页上,它的主要功能就是从上述的 html code 中提取出我们感兴趣的 element, 并按照我们自己的对内容的选择重新生成一个个性化过的页面,请参见附件查看我们将要解析的 html 文本。通过检视此 html 文件,我们需要提取的 html element 只有被 head 标签修饰的文档信息元素,和被 div 标签修饰,id 值为 episode_listing 的块级区域。下面对实现这部分功能的主要代码进行一些分析。以只读方式打开所需处理文本并读入其内容: fh = open("~/vampire_episode.html", "r")
fh_str = fd.read()读取剧集标题,使用正则表达式匹配以“&title”起始,“/title&”结束的元素,注意此处使用非贪婪匹配以获取首次匹配的内容: title = re.findall("&title.*?\/title&", fds)查看一下变量类型和内容: In [74]: type(title)
Out[74]: &type 'list'&
In [75]: print title
-------& print(title)
['&title&The Vampire Diaries Season 2 Episode Guide on TV.com&/title&']读取 html 文本中 id 值为 episode_listing 的 div 元素,注意由于此元素会跨越多行,我们在调用 findall 函数时需要指定 re.S 标志,同样使用非贪婪匹配:fd_result = re.findall("&div id=\"episode_listing\".*?\/div&", fh_str, re.S)此时我们已经获取到全部所需内容,将他们写入另一个 html 文件: output = open("parse_result.html", "w")
output.write('&html&&body&&h1&The Air Date List you want to see:&/h1&')
output.write('&br/&')
output.write(title[0])
output.write(fd_result[0])
output.write("&/body&&/html&")
output.close()结果演示本章节将演示实例效果,展示最终可以显示在网页上的运行结果,我们将看到解析获得的美剧时间表,剧集标题等。为此我们在 Google App Engine 上创建了一个 Demo 示例以更好的对此本文所介绍的内容进行演示,读者可以直接访问使用。示例的网址如下:下面我们用截图来说明该示例的内容。该示例主要展示了对给定的包含美剧信息的 URL 所截取出来的剧集播放信息,如下图所示本示例展示如下三部美剧的信息:图 1. 美剧信息 URL其输出结果如下:图 2-1. URL 所对应剧集播出时间表图 2-2. URL 所对应剧集播出时间表图 2-3. URL 所对应剧集播出时间表另外,我们还为读者提供了亲自体验的 Play Ground,读者可以通过点击主页面最下方的相关链接(http://omtvdw.appspot.com/pg)来到如下界面:图 3. 自行获取指定美剧播出时间界面在此界面里,读者可以自行输入含有美剧播出信息的相关页面的链接,然后查看输出结果。例如我们输入 ,然后点击“Get Air Date List”就会看到关于 24 小时第五季的播出信息:图 4. 运行结果读者可以自行试验获取其他美剧的信息,但是需要自己从 www.tv.com 上找到类似的 URL。小结尽管对于 Python 正则表达式模块(re)的语法和相关函数的描述并不全面,但文章以简洁的方式介绍了最常用的正则表达式语法和函数调用方法,关于更为复杂和深入的用法讨论,读者可以参考官方文档。在之后的章节中,本文直观地通过网页文本解析的实例,讲解了美剧播出时间解析小工具的实现方法和步骤,希望最后的网站示例和演示结果能够提供给这一模块的功能学习提供一些有趣并有用的帮助。
相关主题参考 Python 使用文档中 RE 相关章节 ,查看 RE 语法使用细节。参看文章 ,了解更多 Python RE 的使用实例。参看 developerWorks 中的文章 ,了解使用 Python RE 进行文本解析的实例。随时关注 developerWorks 和 。访问 developerWorks 获得丰富的 how-to 信息、工具和项目更新以及 ,帮助您用开放源码技术进行开发,并将它们与 IBM 产品结合使用。
添加或订阅评论,请先或。
有新评论时提醒我
static.content.url=http://www.ibm.com/developerworks/js/artrating/SITE_ID=10Zone=Open sourceArticleID=646529ArticleTitle=使用 Python 模块 re 实现解析小工具publish-date=}

我要回帖

更多关于 查看python模块 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信