Python的walk和Decorator使用一例
来源:互联网 发布:js转换 编辑:程序博客网 时间:2024/05/13 18:56
由于经常要查询C++相关的资料,翻书太麻烦,MSDN太大,去网上查询又太慢。于是决定将www.cplusplus.com整个打包成CHM,以便查询用。
将网站down下来之后,发现要做成CHM还是有不少后期工作要做,比如:应该把页面右上方的Login去掉。。。
正好学了Python一直没有派上大的用场,咱露它一小手吧。
第一个问题就是遍历目录的问题,网站下面有好几十个目录,以前写C++的经验告诉我,这得用一个递归函数来遍历。但在Python中,一个walk函数搞定一切,Fantastic!
举个例子:
E盘根目录下有文件夹a
a
├──aa
│ ├──aaa
│ ├──aa.txt
│ └──ab.txt
├──ab
│ ├──aba
│ └──ab.txt
├──a.txt
└──b.txt
在Python中对目录a进行walk后:
其返回值是一个Generator,每次迭代的结果是一个Tuple t,由三个元素组成,
t[0]为当前所遍历的目录名
t[1]为当前目录下的所有子目录
t[2]为当前目录下的所有文件名
这使得遍历目录相当轻松。
修改页面内容的脚本如下:(略去了实现细节)
输出结果:
Command line: D:/programs/Python26/python.exe D:/Projects/Python/MODIFY~1.PY
Working directory: D:/Projects/Python
Timeout: 0 ms
1 / 2135 -->"e:/CppReference/www.cplusplus.com/default.htm" is done!
2 / 2135 -->"e:/CppReference/www.cplusplus.com/articles/default.htm" is done!
3 / 2135 -->"e:/CppReference/www.cplusplus.com/doc/default.htm" is done!
......
1194 / 2135 -->"e:/CppReference/www.cplusplus.com/reference/string/string/swap/default.htm" is done!
1195 / 2135 -->"e:/CppReference/www.cplusplus.com/reference/string/swap/default.htm" is done!
1196 / 2135 -->"e:/CppReference/www.cplusplus.com/src/default.htm" is done!
Process "Python Interpreter" terminated, ExitCode: 00000000
一个小程序让我学到了很多东西,由于是自用的,也没有错误处理,也没有异常。所以
我一定会回来的!
- Python的walk和Decorator使用一例
- Python:decorator的使用
- Python的decorator使用
- python os.walk和os.path.walk
- Python os.walk() 和 os.path.walk()
- python os.walk和os.path.walk
- Python os.walk()和os.path.walk()
- python 简单示例说明os.walk和os.path.walk的不同
- python 简单示例说明os.walk和os.path.walk的不同
- Python os.walk使用详解
- widget和Decorator装修器的使用
- python使用os模块的os.walk遍历文件夹
- 使用python的os.walk()包来监测文件变化
- python 的decorator
- Python的@符号 --decorator
- 【Python】decorator的作用
- python decorator的理解
- python中decorator的用法及原理(一)
- Symbian源代码还原之三——void CCoeControl::ActivateL(void)
- 解决Struts重复提交
- ziparchive编译
- 面试中你必须要知道的语言陷阱(转,很好,怕再找不到了)
- windbg 使用
- Python的walk和Decorator使用一例
- PCI中断
- Asp.net学习笔记篇三(读ASP.NET.3.5.Unleashed)
- IT发展趋势
- Symbian源代码还原之四——const CCoeControl* CCoeControl::SearchParent(const CCoeControl* aParentToFind)
- IPSAN与NAS
- 关于#include "stdafx.h"
- Symbian源代码还原之五——判断函数
- 流行的AJAX框架对比:jQuery,Mootools,Dojo,Ext JS