由于经常要查询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
一个小程序让我学到了很多东西,由于是自用的,也没有错误处理,也没有异常。所以
我一定会回来的!