python中级教程：开发总结

版本：v1.0

Crifan Li

摘要

本文是针对Python的中级开发人员，为其在学习了Python的基础知识后，继续学习Python，提供相关领域内容的参考和借鉴。包括很多个方面：Python 2.x和Python 3.x，模块和包，图形库，字符和编码，命令行参数，CSV和Excel，HTML解析，网站抓取，正则表达式，网络框架，Cookie和Http，数据库，等其他内容。

[提示] 本文提供多种格式供：
在线阅读 | HTML | HTMLs | PDF | CHM | TXT | RTF | WEBHELP
下载（7zip压缩包） | HTML | HTMLs | PDF | CHM | TXT | RTF | WEBHELP

HTML版本的在线地址为：

http://www.crifan.com/files/doc/docbook/python_intermediate_tutorial/release/html/python_intermediate_tutorial.html

有任何意见，建议，提交bug等，都欢迎去讨论组发帖讨论：

http://www.crifan.com/bbs/categories/python_intermediate_tutorial/

2013-01-30

修订历史
修订 1.0 2013-01-30 crl
  1. 把之前教程的地址整理过来

版权 © 2013 Crifan, http://crifan.com

本文章遵从：署名-非商业性使用 2.5 中国大陆(CC BY-NC 2.5)

目录

前言
1. 本文目的
1. Python的两大版本：Python 2.x和Python 3.x
2. Python中的模块和包
3. Python中的图形库
4. Python中的字符串和字符编码
5. Python中的命令行参数
6. Python中的CSV,Excel
7. Python中的HTML解析相关
8. Python中的网站抓取相关
9. Python中的正则表达式相关
10. Python中的Web框架
11. Python中的Cookie,Http相关
12. Python中的数据库相关
13. Python中的其他相关的内容
参考书目


前言

目录

1. 本文目的

1. 本文目的

[提示] 相关旧帖

【整理】Python开发过程中相关方面的知识

本文目的在于，在已经学习了的Python的基本知识之后，继续深入学习Python时，遇到某些具体的领域的内容时，提供一些参考资料。

[提示] Python的基础知识教程

如果对于Python基本的知识不了解，可以参考Python的基础知识教程：

python初级教程：入门详解


第 1 章 Python的两大版本：Python 2.x和Python 3.x

[提示] 相关旧帖

【整理】Python语言简介

【教程】如何把Python2的代码转换为Python3的代码

【整理】关于Python从2.x.x版本升级到3.x.x版本需要注意的事情


第 2 章 Python中的模块和包

【教程】Python中的内置的模块 和第三方的模块

【待完善】【总结】Python安装第三方的库、package的方法

【已解决】Python中导入子文件夹中的模块

【已解决】Python中出错：ImportError: No module named win32com.client


第 3 章 Python中的图形库

【整理】Python中的图形库

【记录】折腾Python中的Tkinter

【记录】尝试Python的图形库：graphics

【已解决】Python中运行graphics图形库，结果出错：Runtime Error! R6025 pure virtual function call

【记录】下载，安装，试用wxPython

【记录】折腾Python的PyQt4模块


第 4 章 Python中的字符串和字符编码

详见：Python专题教程：字符串和字符编码


第 5 章 Python中的命令行参数

【整理】Python中如何获得并处理命令行参数

【已解决】Python中，如何导出argparse解析后的namespace中的变量（export argparse parsed argument）

【已解决】python中枚举（enumerate/iterate）域名（namespace）变量


第 6 章 Python中的CSV,Excel

【记录】使用Python读取/导出（写入）CSV文件

【记录】Python中生成（写入数据到）Excel文件中

【已解决】Python中使用xlwt设置cell的背景色

【整理】Python中，添加写入数据到已经存在的Excel的xls文件，即打开excel文件，写入新数据

【记录】Python中安装xlrd模块

【记录】Python中安装可以读写excel的xls文件的xlutils模块（需依赖于xlrd和xlwt）

【已解决】Python中使用xlutils.copy出错：AttributeError: 'module' object has no attribute 'copy'

【已解决】Python中使用xlutils的copy出错：AttributeError: 'str' object has no attribute 'datemode'

【已解决】Python中处理操作Excel中的图表（Chart，Graph）

【已解决】Python中出错：pywintypes.com_error,Exception occurred,Microsoft Excel,could not be found


第 7 章 Python中的HTML解析相关

【整理】Python中解码（decode）HTML中的实体（entity）+ 将name entity转为code point entity + 将code point entity转为name entity

【总结】Python的第三方库BeautifulSoup的使用心得

【整理】关于Python中的html处理库函数BeautifulSoup使用注意事项


第 8 章 Python中的网站抓取相关

【记录】安装Scrapy

【记录】折腾Scrapy的Tutorial


第 9 章 Python中的正则表达式相关

【教程】详解Python正则表达式

【教程】详解Python正则表达式之： '.' dot 点 匹配任意单个字符

【教程】详解Python正则表达式之： '^' Caret 脱字符/插入符 匹配字符串开始

【教程】详解Python正则表达式之： '$' dollar 美元符号 匹配字符串末尾

【教程】详解Python正则表达式之： '*' star 星号 匹配0或多个

【教程】详解Python正则表达式之： [] bracket 中括号 匹配某集合内的字符

【教程】详解Python正则表达式之： '|' vertical bar 竖杠

【教程】详解Python正则表达式之： (…) group 分组

【教程】详解Python正则表达式之： (?…) extension notation 扩展助记符

【教程】详解Python正则表达式之： (?:...) non-capturing group 非捕获组

【教程】详解Python正则表达式之： (?P<name>…) named group 带命名的组

【教程】详解Python正则表达式之： (?P=name) match earlier named group 匹配前面已命名的组

【教程】详解Python正则表达式之： (?(id/name)yes-pattern|no-pattern) 条件性匹配

【教程】详解Python正则表达式之： (?=…) lookahead assertion 前向匹配 /前向断言

【教程】详解Python正则表达式之： (?!…) negative lookahead assertion 前向否定匹配 /前向否定断言

【教程】详解Python正则表达式之： (?<=…) positive lookbehind assertion 后向匹配 /后向断言

【教程】详解Python正则表达式之：\s 匹配任一空白字符

【教程】详解Python正则表达式之：re.LOCALE re.L 本地化标志

【教程】详解Python正则表达式之：re.UNICODE re.U 统一码标志

【整理】Python中的re.search和re.findall之间的区别和联系 + re.finall中带命名的组，不带命名的组，非捕获的组，没有分组四种类型之间的区别

【总结】有些需要搜索的内容是重叠的，则使用单一的正则表达式是无法实现的

【教程】以Python中的re模块为例，手把手教你，如何从无到有，写出相对复杂的正则表达式

【教程】如何教你看懂复杂的正则表达式


第 10 章 Python中的Web框架

【整理】Python中常见的Web框架

【记录】安装Django

【记录】基于通过pip安装官网Django后，折腾第一个Django的app

【记录】基于通过pip安装官网Django后，折腾第二个Django的app


第 11 章 Python中的Cookie,Http相关

【已解决】Python中使用cookielib的FileCookieJar去save()，结果出错：NotImplementedError

【整理】Python中Cookie的处理：自动处理Cookie，保存为Cookie文件，从文件载入Cookie


第 12 章 Python中的数据库相关

【记录】使用Python操作MySQL数据库

【记录】为Python安装MySQL数据库模块：MySQLdb


第 13 章 Python中的其他相关的内容

【整理】Python中的logging模块的使用（可以实现同时输出信息到cmd终端窗口和log文件（txt）中）

【整理】Python中写完文件再关闭后，不知道需要sleep多长时间才是安全的（才能保持数据真正写入了）

【已解决】安装Scrapy过程中出错：error: Unable to find vcvarsall.bat

【已解决】Python中如何在嵌套函数内部访问被嵌套（的父级函数）中的（局部，非全局）变量

【已解决】Python中，带填充和设置对齐方式的，格式化字符串输出

【记录】折腾Python中的psutil：一个用于获得处理器和系统相关信息的模块

【记录】折腾Python中的mmseg中文分词模块

【已解决】安装Python模块mmseg出错：error: Unable to find vcvarsall.bat

【未解决】Python中安装mmseg时编译出错：LINK : error LNK2001: 无法解析的外部符号 initmmseg

【未解决】Python中去运行mmseg代码结果出错：WindowsError: [Error 126]

【已解决】Python中，将字符串转换为函数，并且实现带参数的函数调用

【记录】折腾Python中的一个绘制图表的模块：pycha

【记录】安装Python版本的cairo模块：Pycairo

【已解决】Python中使用setup.py install去安装别的模块结果出错：ImportError: No module named setuptools

【已解决】Python代码运行出错：ImportError: No module named lines

【记录】用PyInstaller把Python代码打包成单个独立的exe可执行文件

【记录】用cx_Freeze把Python代码打包成单个独立的exe可执行文件

【已解决】Python中通过cs_Freeze去打包exe出错：ImportError: No module named 'traceback'

【记录】下载和安装Python的第三方图像处理的库：PIL(Python Imaging Library)

【已解决】Python中通过PIL-1.1.7.win32-py2.7.exe安装PIL结果出错：Python version 2.7 required, which was not found in the registry

【记录】折腾Python中的pprint


参考书目

[1] python初级教程：入门详解