python doc_pydoc:python的文档工具

pydoc是一个python的文档工具,下面介绍一下它的基本用法。这里是用的python2.7。

my.py是来自http://woodpecker.org.cn/abyteofpython_cn/chinese/ch11s07.html的一段代码。内容如下:

#!/usr/bin/python

#-*-encoding:utf-8-*-

"""

这是一个测试

"""

class SchoolMember:

'''Represents any school member.'''

def __init__(self, name, age):

self.name = name

self.age = age

print '(Initialized SchoolMember: %s)' % self.name

def tell(self):

'''Tell my details.'''

print 'Name:"%s" Age:"%s"' % (self.name, self.age),

class Teacher(SchoolMember):

'''Represents a teacher.'''

def __init__(self, name, age, salary):

SchoolMember.__init__(self, name, age)

self.salary = salary

print '(Initialized Teacher: %s)' % self.name

def tell(self):

SchoolMember.tell(self)

print 'Salary: "%d"' % self.salary

class Student(SchoolMember):

'''Represents a student.'''

def __init__(self, name, age, marks):

SchoolMember.__init__(self, name, age)

self.marks = marks

print '(Initialized Student: %s)' % self.name

def tell(self):

SchoolMember.tell(self)

print 'Marks: "%d"' % self.marks

t = Teacher('Mrs. Shrividya', 40, 30000)

s = Student('Swaroop', 22, 75)

print # prints a blank line

members = [t, s]

for member in members:

member.tell() # works for both Teachers and Students

进入my.py所在目录,运行命令:

bash >> pydoc my | cat

(Initialized SchoolMember: Mrs. Shrividya)

(Initialized Teacher: Mrs. Shrividya)

(Initialized SchoolMember: Swaroop)

(Initialized Student: Swaroop)

Name:"Mrs. Shrividya" Age:"40" Salary: "30000"

Name:"Swaroop" Age:"22" Marks: "75"

Help on module my:

NAME

my - 这是一个测试

FILE

/home/letian/Desktop/my.py

CLASSES

SchoolMember

Student

Teacher

class SchoolMember

| Represents any school member.

|

| Methods defined here:

|

| __init__(self, name, age)

|

| tell(self)

| Tell my details.

class Student(SchoolMember)

| Represents a student.

|

| Methods defined here:

|

| __init__(self, name, age, marks)

|

| tell(self)

class Teacher(SchoolMember)

| Represents a teacher.

|

| Methods defined here:

|

| __init__(self, name, age, salary)

|

| tell(self)

DATA

member =

members = [, ]

s =

t = 运行命令:

bash >> pydoc my.SchoolMember | cat

(Initialized SchoolMember: Mrs. Shrividya)

(Initialized Teacher: Mrs. Shrividya)

(Initialized SchoolMember: Swaroop)

(Initialized Student: Swaroop)

Name:"Mrs. Shrividya" Age:"40" Salary: "30000"

Name:"Swaroop" Age:"22" Marks: "75"

Help on class SchoolMember in my:

my.SchoolMember = class SchoolMember

| Represents any school member.

|

| Methods defined here:

|

| __init__(self, name, age)

|

| tell(self)

| Tell my details. 运行命令:

bash >> pydoc my.t | cat

(Initialized SchoolMember: Mrs. Shrividya)

(Initialized Teacher: Mrs. Shrividya)

(Initialized SchoolMember: Swaroop)

(Initialized Student: Swaroop)

Name:"Mrs. Shrividya" Age:"40" Salary: "30000"

Name:"Swaroop" Age:"22" Marks: "75"

Help on instance of Teacher in my:

my.t = class Teacher(SchoolMember)

| Represents a teacher.

|

| Methods defined here:

|

| __init__(self, name, age, salary)

|

| tell(self) -k参数用来查找关键字。例如:

bash >> pydoc -k pyQt4

PyQt4

PyQt4.Qt

PyQt4.QtAssistant

PyQt4.QtCore

PyQt4.QtDBus

PyQt4.QtDeclarative

PyQt4.QtDesigner

PyQt4.QtGui

PyQt4.QtHelp

PyQt4.QtNetwork

PyQt4.QtScript

PyQt4.QtScriptTools

......

我们也可以利用-p参数指定端口,以在本机上查看所有模块的文档,例如:

bash >> pydoc -p 8088 在浏览器中访问http://127.0.0.1:8088/即可,界面简洁大方。

下面的命令执行后会有图形化界面(Tk)出现:

bash >> pydoc -g 下面的命令会为urllib2的文档生成urllib2.html文件:

bash >> pydoc -w urllib2 pydoc也是一个python类库,下面是在ipython下的一个示例:

bash >> ipython

Python 2.7.4 (default, Sep 26 2013, 03:20:26)

Type "copyright", "credits" or "license" for more information.

IPython 0.13.2 -- An enhanced Interactive Python.

? -> Introduction and overview of IPython's features.

%quickref -> Quick reference.

help -> Python's own help system.

object? -> Details about 'object', use 'object??' for extra details.

In [1]: pwd

Out[1]: u'/home/letian/Desktop'

In [2]: import my

(Initialized SchoolMember: Mrs. Shrividya)

(Initialized Teacher: Mrs. Shrividya)

(Initialized SchoolMember: Swaroop)

(Initialized Student: Swaroop)

Name:"Mrs. Shrividya" Age:"40" Salary: "30000"

Name:"Swaroop" Age:"22" Marks: "75"

In [3]: import pydoc

In [4]: pydoc.

pydoc.Doc pydoc.locate

pydoc.ErrorDuringImport pydoc.lower

pydoc.HTMLDoc pydoc.md

pydoc.HTMLRepr pydoc.os

pydoc.Helper pydoc.pager

pydoc.ModuleScanner pydoc.pathdirs

pydoc.Repr pydoc.pipepager

pydoc.Scanner pydoc.pkgutil

pydoc.TextDoc pydoc.plain

pydoc.TextRepr pydoc.plainpager

pydoc.allmethods pydoc.re

pydoc.apropos pydoc.render_doc

pydoc.classify_class_attrs pydoc.replace

pydoc.classname pydoc.resolve

pydoc.cli pydoc.rfind

pydoc.cram pydoc.rstrip

pydoc.deque pydoc.safeimport

pydoc.describe pydoc.serve

pydoc.doc pydoc.source_synopsis

pydoc.expandtabs pydoc.split

pydoc.extract_tb pydoc.splitdoc

pydoc.find pydoc.strip

pydoc.getdoc pydoc.stripid

pydoc.getpager pydoc.synopsis

pydoc.gui pydoc.sys

pydoc.help pydoc.tempfilepager

pydoc.html pydoc.text

pydoc.imp pydoc.ttypager

pydoc.importfile pydoc.types

pydoc.inspect pydoc.visiblename

pydoc.isdata pydoc.warnings

pydoc.ispackage pydoc.writedoc

pydoc.ispath pydoc.writedocs

pydoc.join

In [4]: pydoc.describe.__doc__

Out[4]: 'Produce a short description of the given thing.'

In [5]: pydoc.describe(my.t)

Out[5]: 'instance of Teacher'

In [6]: pydoc.describe(my)

Out[6]: 'module my'

In [7]: pydoc.describe(my.SchoolMember)

Out[7]: 'class SchoolMember'

In [8]: pydoc.doc(my.SchoolMember)

Python Library Documentation: class SchoolMember in module my

class SchoolMember

| Represents any school member.

|

| Methods defined here:

|

| __init__(self, name, age)

|

| tell(self)

| Tell my details. ipython和pydoc对学习python的其他类库会有较大的帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值