获取Python 文档字符串

bfhtian 2009-03-09 11:52:46
python核心编程第二版习题9-9
进入 Python 标准库所在的目录. 检查每个 .py 文件看是否有
__doc__ 字符串, 如果有, 对其格式进行适当的整理归类. 你的程序执行完毕后, 应该会生成一个
漂亮的清单. 里边列出哪些模块有文档字符串, 以及文档字符串的内容. 清单最后附上那些没有文
档字符串模块的名字.

本来是想先找到后缀为.py的文件,然后读取文件里的内容,找到""" """(windows xp下python3.0 IDLE)
代码如下:

#已经加入了import os,db为字典序列
def doc():
bpath=r'd:\program files\python\lib'
files=os.listdir(bpath)
for eachfile in files:
if os.path.splitext(eachfile)[1]=='.py':
mpath=os.path.join(bpath,eachfile)
sign='"""'
mpath.encode('utf-8','ignore')
f=open(mpath,'rb')
text=f.read()
lpos=text.find(sign)
if lpos!=-1:
rpos=text.find(sign,lpos+1)
doc=text[lpos+1:rpos]
else:
doc=''
db.setdefault(os.path.basename(eachfile),doc)
f.close()


TypeError: expected an object with the buffer interface
ps:怎样调试python程序
...全文
462 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiangnanandi 2009-03-10
  • 打赏
  • 举报
回复
我验证过
lpos=text.find(sign)
没有你说的问题。
你仔细看看你的整体环境,同时确认一下,是这里有问题吗
bfhtian 2009-03-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 iambic 的回复:]
跑了下,没遇到你说的问题。db是什么模块?这句是干什么的?
db.setdefault(os.path.basename(eachfile),doc)
[/Quote]
是环境的问题吗,为什么我的还是不行,谢谢
bfhtian 2009-03-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 iambic 的回复:]
跑了下,没遇到你说的问题。db是什么模块?这句是干什么的?
db.setdefault(os.path.basename(eachfile),doc)
[/Quote]
将文件名和文档加入到字典db中
iambic 2009-03-09
  • 打赏
  • 举报
回复
跑了下,没遇到你说的问题。db是什么模块?这句是干什么的?
db.setdefault(os.path.basename(eachfile),doc)
bfhtian 2009-03-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 iambic 的回复:]
是在哪行出现的错误?
[/Quote]
lpos=text.find(sign)
iambic 2009-03-09
  • 打赏
  • 举报
回复
是在哪行出现的错误?

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧