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

本文提供多种格式供:
在线阅读

HTML

1

下载(7zip压缩包)

HTML

8

HTMLs

PDF

3

HTMLs

PDF

10

2

9

CHM

4

CHM

11

TXT

5

TXT

12

RTF

6

RTF

13

WEBHELP
7

WEBHELP
14

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/

修订历史
修订 1.0

2013-01-30

crl

1. 把之前教程的地址整理过来

1

http://www.crifan.com/files/doc/docbook/python_intermediate_tutorial/release/html/
python_intermediate_tutorial.html
2
http://www.crifan.com/files/doc/docbook/python_intermediate_tutorial/release/htmls/index.html
3
http://www.crifan.com/files/doc/docbook/python_intermediate_tutorial/release/pdf/
python_intermediate_tutorial.pdf
4
http://www.crifan.com/files/doc/docbook/python_intermediate_tutorial/release/chm/
python_intermediate_tutorial.chm
5
http://www.crifan.com/files/doc/docbook/python_intermediate_tutorial/release/txt/python_intermediate_tutorial.txt
6
http://www.crifan.com/files/doc/docbook/python_intermediate_tutorial/release/rtf/python_intermediate_tutorial.rtf
7
http://www.crifan.com/files/doc/docbook/python_intermediate_tutorial/release/webhelp/index.html
8
http://www.crifan.com/files/doc/docbook/python_intermediate_tutorial/release/html/
python_intermediate_tutorial.html.7z
9
http://www.crifan.com/files/doc/docbook/python_intermediate_tutorial/release/htmls/index.html.7z
10
http://www.crifan.com/files/doc/docbook/python_intermediate_tutorial/release/pdf/
python_intermediate_tutorial.pdf.7z
11
http://www.crifan.com/files/doc/docbook/python_intermediate_tutorial/release/chm/
python_intermediate_tutorial.chm.7z
12
http://www.crifan.com/files/doc/docbook/python_intermediate_tutorial/release/txt/
python_intermediate_tutorial.txt.7z
13
http://www.crifan.com/files/doc/docbook/python_intermediate_tutorial/release/rtf/
python_intermediate_tutorial.rtf.7z
14
http://www.crifan.com/files/doc/docbook/python_intermediate_tutorial/release/webhelp/
python_intermediate_tutorial.webhelp.7z
python中级教程:开发总结:
Crifan Li

版本:v1.0
出版日期 2013-01-30
版权 © 2013 Crifan, http://crifan.com
15

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

15

http://www.crifan.com/files/doc/docbook/soft_dev_basic/release/html/soft_dev_basic.html#cc_by_nc
目录
前言 ........................................................................................................................................ iv
1. 本文目的 ...................................................................................................................... iv
1. Python的两大版本:Python 2.x和Python 3.x ........................................................................ 1
2. Python中的模块和包 ............................................................................................................. 2
3. Python中的图形库 ................................................................................................................ 3
4. Python中的字符串和字符编码 ............................................................................................... 4
5. Python中的命令行参数 ......................................................................................................... 5
6. Python中的CSV,Excel ........................................................................................................... 6
7. Python中的HTML解析相关 ................................................................................................... 7
8. Python中的网站抓取相关 ...................................................................................................... 8
9. Python中的正则表达式相关 ................................................................................................... 9
10. Python中的Web框架 ........................................................................................................ 11
11. Python中的Cookie,Http相关 ............................................................................................ 12
12. Python中的数据库相关 ..................................................................................................... 13
13. Python中的其他相关的内容 ............................................................................................... 14
参考书目 ................................................................................................................................ 16

iii
前言
1. 本文目的
相关旧帖
【整理】Python开发过程中相关方面的知识

1

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

Python的基础知识教程
如果对于Python基本的知识不了解,可以参考Python的基础知识教程:
python初级教程:入门详解

1
2

2

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

iv
第 1 章 Python的两大版本:Python
2.x和Python 3.x
相关旧帖
【整理】Python语言简介

1

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

2

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

1
2
3

3

http://www.crifan.com/simple_intro_what_is_python_and_how_to_run_python_script
http://www.crifan.com/how_to_convert_python2_into_python3
http://www.crifan.com/python_note_about_upgrade_from_version_2_to_version_3

1
第 2 章 Python中的模块和包
相关旧帖
【教程】Python中的内置的模块 和第三方的模块

1

【待完善】【总结】Python安装第三方的库、package的方法
【已解决】Python中导入子文件夹中的模块

2

3

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

4

1

http://www.crifan.com/explanation_about_python_standard_libaray_and_third_party_library
http://www.crifan.com/summary_methods_of_install_third_party_library_or_package_of_python
3
http://www.crifan.com/python_import_modules_under_sub_folders
4
http://www.crifan.com/python_importerror_no_module_named_win32com_client
2

2
第 3 章 Python中的图形库
相关旧帖
【整理】Python中的图形库

1

【记录】折腾Python中的Tkinter

2

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

3

【已解决】Python中运行graphics图形库,结果出错:Runtime
4
virtual function call
【记录】下载,安装,试用wxPython
【记录】折腾Python的PyQt4模块

Error!

R6025

pure

5

6

1

http://www.crifan.com/summary_python_graphics_gui_libs_packages
http://www.crifan.com/try_python_tkinter_module
3
http://www.crifan.com/try_with_python_gui_lib_graphics
4
http://www.crifan.com/python_3_2_2_runtime_error_r6025_pure_virtual_function_call
5
http://www.crifan.com/wxpython_download_and_install_and_try_it
6
http://www.crifan.com/python_module_pyqt4
2

3
第 4 章 Python中的字符串和字符编码
详见:Python专题教程:字符串和字符编码

1

1

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

4
第 5 章 Python中的命令行参数
相关旧帖
【整理】Python中如何获得并处理命令行参数

1

【已解决】Python中,如何导出argparse解析后的namespace中的变量(export
2
argparse parsed argument)
【已解决】python中枚举(enumerate/iterate)域名(namespace)变量

1
2
3

3

http://www.crifan.com/python_capture_and_parse_command_line_parameter
http://www.crifan.com/python_export_the_argparse_module_parsed_argument
http://www.crifan.com/python_enumarate_or_iterate_namespace_variable

5
第 6 章 Python中的CSV,Excel
相关旧帖
【记录】使用Python读取/导出(写入)CSV文件

1

【记录】Python中生成(写入数据到)Excel文件中
【已解决】Python中使用xlwt设置cell的背景色

2

3

【整理】Python中,添加写入数据到已经存在的Excel的xls文件,即打开excel文件,写入
4
新数据
【记录】Python中安装xlrd模块

5

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

6

【已解决】Python中使用xlutils.copy出错:AttributeError: 'module' object has no
7
attribute 'copy'
【已解决】Python中使用xlutils的copy出错:AttributeError:
8
attribute 'datemode'
【已解决】Python中处理操作Excel中的图表(Chart,Graph)
【已解决】Python中出错:pywintypes.com_error,Exception
10
Excel,could not be found

'str'

object

has

no

9

occurred,Microsoft

1

http://www.crifan.com/python_read_write_csv_file
http://www.crifan.com/export_data_to_excel_file_in_python
3
http://www.crifan.com/python_xlwt_set_cell_background_color
4
http://www.crifan.com/python_append_new_data_into_existing_excel_xls_file
5
http://www.crifan.com/python_read_excel_xls_file_xlrd
6
http://www.crifan.com/python_excel_xls_file_operation_xlutils
7
http://www.crifan.com/python_xlutils_copy_attributeerror_module_object_has_no_attribute_copy
8
http://www.crifan.com/python_xlutils_copy_attributeerror_str_object_has_no_attribute_datemode
9
http://www.crifan.com/python_process_excel_chart_graph
10
http://www.crifan.com/
python_pywintypes_com_error_exception_occurred_microsoft_excel_xls_could_not_be_found_check_the_spelling_of_the_file_name
2

6
第 7 章 Python中的HTML解析相关
相关旧帖
【整理】Python中解码(decode)HTML中的实体(entity)+ 将name entity转为code
1
point entity + 将code point entity转为name entity
【总结】Python的第三方库BeautifulSoup的使用心得

2

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

1
2
3

3

http://www.crifan.com/python_decode_html_entity_and_convert_between_name_entity_and_code_point_entity
http://www.crifan.com/summary_usage_of_beautifulsoup_in_python
http://www.crifan.com/some_notation_about_python_beautifulsoup_parse_html

7
第 8 章 Python中的网站抓取相关
相关旧帖
【记录】安装Scrapy

1

【记录】折腾Scrapy的Tutorial

1
2

2

http://www.crifan.com/install_scrapy
http://www.crifan.com/try_scrapy_tutorial

8
第 9 章 Python中的正则表达式相关
相关旧帖
【教程】详解Python正则表达式

1

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

2

【教程】详解Python正则表达式之: '^' Caret 脱字符/插入符 匹配字符串开始
【教程】详解Python正则表达式之: '$' dollar 美元符号 匹配字符串末尾
【教程】详解Python正则表达式之: '*' star 星号 匹配0或多个

4

5
6

【教程】详解Python正则表达式之: [] bracket 中括号 匹配某集合内的字符
【教程】详解Python正则表达式之: '|' vertical bar 竖杠
【教程】详解Python正则表达式之: (…) group 分组

3

7

8

【教程】详解Python正则表达式之: (?…) extension notation 扩展助记符
【教程】详解Python正则表达式之: (?:...) non-capturing group 非捕获组

9
10

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

11

【教程】详解Python正则表达式之: (?P=name) match earlier named group 匹配前面
12
已命名的组
【教程】详解Python正则表达式之: (?(id/name)yes-pattern|no-pattern) 条件性匹配
13

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

14

【教程】详解Python正则表达式之: (?!…) negative lookahead assertion 前向否定匹配 /
15
前向否定断言
【教程】详解Python正则表达式之: (?<=…) positive lookbehind assertion 后向匹配 /
16
后向断言
【教程】详解Python正则表达式之:s 匹配任一空白字符

17
18

【教程】详解Python正则表达式之:re.LOCALE re.L 本地化标志
http://www.crifan.com/detailed_explanation_about_python_regular_express
http://www.crifan.com/detailed_explanation_about_python_regular_express_dot_match_any_single_char
3
http://www.crifan.com/detailed_explanation_about_python_regular_express_caret_match_string_start
4
http://www.crifan.com/detailed_explanation_about_python_regular_express_dollar_match_string_end
5
http://www.crifan.com/detailed_explanation_about_python_regular_express_match_zero_or_more
6
http://www.crifan.com/detailed_explanation_about_python_regular_express_match_a_set_of_chars
7
http://www.crifan.com/detailed_explanation_about_python_regular_express_about_vertical_bar
8
http://www.crifan.com/detailed_explanation_about_python_regular_express_about_group
9
http://www.crifan.com/detailed_explanation_about_python_regular_express_extension_notation
10
http://www.crifan.com/detailed_explanation_about_python_regular_express_non_capturing_group
11
http://www.crifan.com/detailed_explanation_about_python_regular_express_named_group
12
http://www.crifan.com/detailed_explanation_about_python_regular_express_match_named_group
13
http://www.crifan.com/detailed_explanation_about_python_regular_express_yes_or_no_conditional_match
14
http://www.crifan.com/detailed_explanation_about_python_regular_express_lookahead_assertion
15
http://www.crifan.com/detailed_explanation_about_python_regular_express_negative_lookahead_assertion
16
http://www.crifan.com/detailed_explanation_about_python_regular_express_positive_lookbehind_assertion
17
http://www.crifan.com/detailed_explanation_about_python_regular_express_match_any_whitespace_char
18
http://www.crifan.com/detailed_explanation_about_python_regular_express_flag_re_locale_re_l
1
2

9
Python中的正则表达式相关
【教程】详解Python正则表达式之:re.UNICODE re.U 统一码标志

19

【整理】Python中的re.search和re.findall之间的区别和联系 + re.finall中带命名的组,不
20
带命名的组,非捕获的组,没有分组四种类型之间的区别
【总结】有些需要搜索的内容是重叠的,则使用单一的正则表达式是无法实现的

21

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

23

19

http://www.crifan.com/detailed_explanation_about_python_regular_express_flag_re_unicode_re_u
http://www.crifan.com/python_re_search_vs_re_findall
http://www.crifan.com/some_string_to_be_searched_is_overlap_so_can_not_implement_in_single_regular_expression
22
http://www.crifan.com/how_to_write_your_own_complex_regular_expression_in_python_re
23
http://www.crifan.com/tutorial_teach_you_how_to_understand_the_complex_regular_expression
20
21

10
第 10 章 Python中的Web框架
相关旧帖
【整理】Python中常见的Web框架
【记录】安装Django

1

2

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

3

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

4

1

http://www.crifan.com/python_web_framework
http://www.crifan.com/record_install_django
3
http://www.crifan.com/after_pip_install_official_django_try_first_app
4
http://www.crifan.com/after_pip_install_official_django_try_second_app
2

11
第 11 章 Python中的Cookie,Http相关
相关旧帖
【已解决】Python中使用cookielib的FileCookieJar去save(),结果出错:
1
NotImplementedError
【整理】Python中Cookie的处理:自动处理Cookie,保存为Cookie文件,从文件载入
2
Cookie

1
2

http://www.crifan.com/python_cookiejar_filecookiejar_save_error_notimplementederror
http://www.crifan.com/python_auto_handle_cookie_and_save_to_from_cookie_file

12
第 12 章 Python中的数据库相关
相关旧帖
【记录】使用Python操作MySQL数据库

1

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

1
2

2

http://www.crifan.com/try_python_to_operate_mysql
http://www.crifan.com/python_install_module_mysql_mysqldb

13
第 13 章 Python中的其他相关的内容
相关旧帖
【整理】Python中的logging模块的使用(可以实现同时输出信息到cmd终端窗口和log文
1
件(txt)中)
【整理】Python中写完文件再关闭后,不知道需要sleep多长时间才是安全的(才能保持
2
数据真正写入了)
【已解决】安装Scrapy过程中出错:error: Unable to find vcvarsall.bat

3

【已解决】Python中如何在嵌套函数内部访问被嵌套(的父级函数)中的(局部,非全
4
局)变量
【已解决】Python中,带填充和设置对齐方式的,格式化字符串输出

5

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

6

7

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

8

【未解决】Python中安装mmseg时编译出错:LINK : error LNK2001: 无法解析的外部符
9
号 initmmseg
【未解决】Python中去运行mmseg代码结果出错:WindowsError: [Error 126]
【已解决】Python中,将字符串转换为函数,并且实现带参数的函数调用
【记录】折腾Python中的一个绘制图表的模块:pycha
【记录】安装Python版本的cairo模块:Pycairo
【已解决】Python中使用setup.py
14
module named setuptools

11

12

13

install去安装别的模块结果出错:ImportError:

【已解决】Python代码运行出错:ImportError: No module named lines
【记录】用PyInstaller把Python代码打包成单个独立的exe可执行文件
1

10

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

No

15

16
17

http://www.crifan.com/summary_python_logging_module_usage
2
http://www.crifan.com/python_after_write_file_then_do_not_know_how_long_to_sleep_is_safe_close
3
http://www.crifan.com/while_install_scrapy_error_unable_to_find_vcvarsall_bat
4
http://www.crifan.com/python_access_parent_nesting_function_local_variable_from_nested_function
5
http://www.crifan.com/python_string_format_fill_with_chars_and_set_alignment
6
http://www.crifan.com/try_python_psutil
7
http://www.crifan.com/try_python_mmseg_chinese_segment_on_mmseg_algorithm
8
http://www.crifan.com/python_mmseg_error_unable_to_find_vcvarsall_bat
9
http://www.crifan.com/python_mmseg_link_error_lnk2001_unresolved_external_symbol_initmmseg
10
http://www.crifan.com/python_import_mmseg_windowserror_error_126
11
http://www.crifan.com/python_convert_string_to_function_then_call
12
http://www.crifan.com/python_making_charts_module_pycha
13
http://www.crifan.com/python_cairo_module_pycairo
14
http://www.crifan.com/python_setup_py_install_importerror_no_module_named_setuptools
15
http://www.crifan.com/python_importerror_no_module_named_lines
16
http://www.crifan.com/use_pyinstaller_to_package_python_to_single_executable_exe
17
http://www.crifan.com/use_cx_freeze_to_package_python_to_single_executable_exe

14
Python中的其他相关的内容
【已解决】Python中通过cs_Freeze去打包exe出错:ImportError: No module named
18
'traceback'
【记录】下载和安装Python的第三方图像处理的库:PIL(Python Imaging Library)
【已解决】Python中通过PIL-1.1.7.win32-py2.7.exe安装PIL结果出错:Python
20
2.7 required, which was not found in the registry
【记录】折腾Python中的pprint

19

version

21

18

http://www.crifan.com/python_cx_freeze_importerror_no_module_named_traceback
http://www.crifan.com/python_module_pil
20
http://www.crifan.com/python_install_pip_error_python_version_2_7_required_which_was_not_found_in_the_registry
21
http://www.crifan.com/python_module_pprint
19

15
参考书目
1

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

1

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

16

More Related Content

Viewers also liked (6)

PDF
Symbology plessey
cri fan
 
PDF
Rec soft npp
cri fan
 
PDF
Nand get type
cri fan
 
PDF
Binutils intro
cri fan
 
PDF
Csharp summary
cri fan
 
PDF
Arm vs mips
cri fan
 
Symbology plessey
cri fan
 
Rec soft npp
cri fan
 
Nand get type
cri fan
 
Binutils intro
cri fan
 
Csharp summary
cri fan
 
Arm vs mips
cri fan
 

Similar to Python intermediate tutorial (20)

PDF
Csharp summary
cri fan
 
PDF
Hardware basic
cri fan
 
PDF
Virutal machine tutorial
cri fan
 
PDF
Programming language basic
cri fan
 
PPTX
Web开发基础
dynaturtle
 
PPTX
FeatHub_GAIDC_2022.pptx
Dong Lin
 
PDF
Python简明教程
ingong
 
PDF
Soft dev basic
cri fan
 
PDF
Build website
cri fan
 
PDF
Build website
cri fan
 
PDF
Fieldbus intro
cri fan
 
PPTX
Html 5初探
keelii
 
PDF
Buy house
cri fan
 
PDF
Buy house
cri fan
 
PDF
Python与抓包
Leo Zhou
 
PDF
简单Pthon教程
junjun chen
 
PDF
用简单语言构建复杂系统
Leo Zhou
 
PDF
Python meetup 1
Vic Yang
 
PPTX
Python01
俊杰 李
 
PDF
Uboot starts analysis
cri fan
 
Csharp summary
cri fan
 
Hardware basic
cri fan
 
Virutal machine tutorial
cri fan
 
Programming language basic
cri fan
 
Web开发基础
dynaturtle
 
FeatHub_GAIDC_2022.pptx
Dong Lin
 
Python简明教程
ingong
 
Soft dev basic
cri fan
 
Build website
cri fan
 
Build website
cri fan
 
Fieldbus intro
cri fan
 
Html 5初探
keelii
 
Buy house
cri fan
 
Buy house
cri fan
 
Python与抓包
Leo Zhou
 
简单Pthon教程
junjun chen
 
用简单语言构建复杂系统
Leo Zhou
 
Python meetup 1
Vic Yang
 
Python01
俊杰 李
 
Uboot starts analysis
cri fan
 
Ad

More from cri fan (14)

PDF
Scientific network summary
cri fan
 
PDF
Virtualbox tutorial
cri fan
 
PDF
Usb hid
cri fan
 
PDF
Usb disk driver
cri fan
 
PDF
Usb basic
cri fan
 
PDF
Symbology upc
cri fan
 
PDF
Symbology gs1128
cri fan
 
PDF
Symbology code128
cri fan
 
PDF
Runtime upgrade linux
cri fan
 
PDF
Linux wireless
cri fan
 
PDF
Linux nand driver
cri fan
 
PDF
Json tutorial
cri fan
 
PDF
Interrupt related
cri fan
 
PDF
Firmware download
cri fan
 
Scientific network summary
cri fan
 
Virtualbox tutorial
cri fan
 
Usb hid
cri fan
 
Usb disk driver
cri fan
 
Usb basic
cri fan
 
Symbology upc
cri fan
 
Symbology gs1128
cri fan
 
Symbology code128
cri fan
 
Runtime upgrade linux
cri fan
 
Linux wireless
cri fan
 
Linux nand driver
cri fan
 
Json tutorial
cri fan
 
Interrupt related
cri fan
 
Firmware download
cri fan
 
Ad

Python intermediate tutorial

  • 1. python中级教程:开发总结 版本:v1.0 Crifan Li 摘要 本文是针对Python的中级开发人员,为其在学习了Python的基础知识后,继续学习Python,提供相关领域内容的 参考和借鉴。包括很多个方面:Python 2.x和Python 3.x,模块和包,图形库,字符和编码,命令行参数,CSV和 Excel,HTML解析,网站抓取,正则表达式,网络框架,Cookie和Http,数据库,等其他内容。 本文提供多种格式供: 在线阅读 HTML 1 下载(7zip压缩包) HTML 8 HTMLs PDF 3 HTMLs PDF 10 2 9 CHM 4 CHM 11 TXT 5 TXT 12 RTF 6 RTF 13 WEBHELP 7 WEBHELP 14 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/ 修订历史 修订 1.0 2013-01-30 crl 1. 把之前教程的地址整理过来 1 http://www.crifan.com/files/doc/docbook/python_intermediate_tutorial/release/html/ python_intermediate_tutorial.html 2 http://www.crifan.com/files/doc/docbook/python_intermediate_tutorial/release/htmls/index.html 3 http://www.crifan.com/files/doc/docbook/python_intermediate_tutorial/release/pdf/ python_intermediate_tutorial.pdf 4 http://www.crifan.com/files/doc/docbook/python_intermediate_tutorial/release/chm/ python_intermediate_tutorial.chm 5 http://www.crifan.com/files/doc/docbook/python_intermediate_tutorial/release/txt/python_intermediate_tutorial.txt 6 http://www.crifan.com/files/doc/docbook/python_intermediate_tutorial/release/rtf/python_intermediate_tutorial.rtf 7 http://www.crifan.com/files/doc/docbook/python_intermediate_tutorial/release/webhelp/index.html 8 http://www.crifan.com/files/doc/docbook/python_intermediate_tutorial/release/html/ python_intermediate_tutorial.html.7z 9 http://www.crifan.com/files/doc/docbook/python_intermediate_tutorial/release/htmls/index.html.7z 10 http://www.crifan.com/files/doc/docbook/python_intermediate_tutorial/release/pdf/ python_intermediate_tutorial.pdf.7z 11 http://www.crifan.com/files/doc/docbook/python_intermediate_tutorial/release/chm/ python_intermediate_tutorial.chm.7z 12 http://www.crifan.com/files/doc/docbook/python_intermediate_tutorial/release/txt/ python_intermediate_tutorial.txt.7z 13 http://www.crifan.com/files/doc/docbook/python_intermediate_tutorial/release/rtf/ python_intermediate_tutorial.rtf.7z 14 http://www.crifan.com/files/doc/docbook/python_intermediate_tutorial/release/webhelp/ python_intermediate_tutorial.webhelp.7z
  • 2. python中级教程:开发总结: Crifan Li 版本:v1.0 出版日期 2013-01-30 版权 © 2013 Crifan, http://crifan.com 15 本文章遵从:署名-非商业性使用 2.5 中国大陆(CC BY-NC 2.5) 15 http://www.crifan.com/files/doc/docbook/soft_dev_basic/release/html/soft_dev_basic.html#cc_by_nc
  • 3. 目录 前言 ........................................................................................................................................ iv 1. 本文目的 ...................................................................................................................... iv 1. Python的两大版本:Python 2.x和Python 3.x ........................................................................ 1 2. Python中的模块和包 ............................................................................................................. 2 3. Python中的图形库 ................................................................................................................ 3 4. Python中的字符串和字符编码 ............................................................................................... 4 5. Python中的命令行参数 ......................................................................................................... 5 6. Python中的CSV,Excel ........................................................................................................... 6 7. Python中的HTML解析相关 ................................................................................................... 7 8. Python中的网站抓取相关 ...................................................................................................... 8 9. Python中的正则表达式相关 ................................................................................................... 9 10. Python中的Web框架 ........................................................................................................ 11 11. Python中的Cookie,Http相关 ............................................................................................ 12 12. Python中的数据库相关 ..................................................................................................... 13 13. Python中的其他相关的内容 ............................................................................................... 14 参考书目 ................................................................................................................................ 16 iii
  • 5. 第 1 章 Python的两大版本:Python 2.x和Python 3.x 相关旧帖 【整理】Python语言简介 1 【教程】如何把Python2的代码转换为Python3的代码 2 【整理】关于Python从2.x.x版本升级到3.x.x版本需要注意的事情 1 2 3 3 http://www.crifan.com/simple_intro_what_is_python_and_how_to_run_python_script http://www.crifan.com/how_to_convert_python2_into_python3 http://www.crifan.com/python_note_about_upgrade_from_version_2_to_version_3 1
  • 6. 第 2 章 Python中的模块和包 相关旧帖 【教程】Python中的内置的模块 和第三方的模块 1 【待完善】【总结】Python安装第三方的库、package的方法 【已解决】Python中导入子文件夹中的模块 2 3 【已解决】Python中出错:ImportError: No module named win32com.client 4 1 http://www.crifan.com/explanation_about_python_standard_libaray_and_third_party_library http://www.crifan.com/summary_methods_of_install_third_party_library_or_package_of_python 3 http://www.crifan.com/python_import_modules_under_sub_folders 4 http://www.crifan.com/python_importerror_no_module_named_win32com_client 2 2
  • 7. 第 3 章 Python中的图形库 相关旧帖 【整理】Python中的图形库 1 【记录】折腾Python中的Tkinter 2 【记录】尝试Python的图形库:graphics 3 【已解决】Python中运行graphics图形库,结果出错:Runtime 4 virtual function call 【记录】下载,安装,试用wxPython 【记录】折腾Python的PyQt4模块 Error! R6025 pure 5 6 1 http://www.crifan.com/summary_python_graphics_gui_libs_packages http://www.crifan.com/try_python_tkinter_module 3 http://www.crifan.com/try_with_python_gui_lib_graphics 4 http://www.crifan.com/python_3_2_2_runtime_error_r6025_pure_virtual_function_call 5 http://www.crifan.com/wxpython_download_and_install_and_try_it 6 http://www.crifan.com/python_module_pyqt4 2 3
  • 8. 第 4 章 Python中的字符串和字符编码 详见:Python专题教程:字符串和字符编码 1 1 http://www.crifan.com/files/doc/docbook/python_topic_str_encoding/release/html/python_topic_str_encoding.html 4
  • 9. 第 5 章 Python中的命令行参数 相关旧帖 【整理】Python中如何获得并处理命令行参数 1 【已解决】Python中,如何导出argparse解析后的namespace中的变量(export 2 argparse parsed argument) 【已解决】python中枚举(enumerate/iterate)域名(namespace)变量 1 2 3 3 http://www.crifan.com/python_capture_and_parse_command_line_parameter http://www.crifan.com/python_export_the_argparse_module_parsed_argument http://www.crifan.com/python_enumarate_or_iterate_namespace_variable 5
  • 10. 第 6 章 Python中的CSV,Excel 相关旧帖 【记录】使用Python读取/导出(写入)CSV文件 1 【记录】Python中生成(写入数据到)Excel文件中 【已解决】Python中使用xlwt设置cell的背景色 2 3 【整理】Python中,添加写入数据到已经存在的Excel的xls文件,即打开excel文件,写入 4 新数据 【记录】Python中安装xlrd模块 5 【记录】Python中安装可以读写excel的xls文件的xlutils模块(需依赖于xlrd和xlwt) 6 【已解决】Python中使用xlutils.copy出错:AttributeError: 'module' object has no 7 attribute 'copy' 【已解决】Python中使用xlutils的copy出错:AttributeError: 8 attribute 'datemode' 【已解决】Python中处理操作Excel中的图表(Chart,Graph) 【已解决】Python中出错:pywintypes.com_error,Exception 10 Excel,could not be found 'str' object has no 9 occurred,Microsoft 1 http://www.crifan.com/python_read_write_csv_file http://www.crifan.com/export_data_to_excel_file_in_python 3 http://www.crifan.com/python_xlwt_set_cell_background_color 4 http://www.crifan.com/python_append_new_data_into_existing_excel_xls_file 5 http://www.crifan.com/python_read_excel_xls_file_xlrd 6 http://www.crifan.com/python_excel_xls_file_operation_xlutils 7 http://www.crifan.com/python_xlutils_copy_attributeerror_module_object_has_no_attribute_copy 8 http://www.crifan.com/python_xlutils_copy_attributeerror_str_object_has_no_attribute_datemode 9 http://www.crifan.com/python_process_excel_chart_graph 10 http://www.crifan.com/ python_pywintypes_com_error_exception_occurred_microsoft_excel_xls_could_not_be_found_check_the_spelling_of_the_file_name 2 6
  • 11. 第 7 章 Python中的HTML解析相关 相关旧帖 【整理】Python中解码(decode)HTML中的实体(entity)+ 将name entity转为code 1 point entity + 将code point entity转为name entity 【总结】Python的第三方库BeautifulSoup的使用心得 2 【整理】关于Python中的html处理库函数BeautifulSoup使用注意事项 1 2 3 3 http://www.crifan.com/python_decode_html_entity_and_convert_between_name_entity_and_code_point_entity http://www.crifan.com/summary_usage_of_beautifulsoup_in_python http://www.crifan.com/some_notation_about_python_beautifulsoup_parse_html 7
  • 12. 第 8 章 Python中的网站抓取相关 相关旧帖 【记录】安装Scrapy 1 【记录】折腾Scrapy的Tutorial 1 2 2 http://www.crifan.com/install_scrapy http://www.crifan.com/try_scrapy_tutorial 8
  • 13. 第 9 章 Python中的正则表达式相关 相关旧帖 【教程】详解Python正则表达式 1 【教程】详解Python正则表达式之: '.' dot 点 匹配任意单个字符 2 【教程】详解Python正则表达式之: '^' Caret 脱字符/插入符 匹配字符串开始 【教程】详解Python正则表达式之: '$' dollar 美元符号 匹配字符串末尾 【教程】详解Python正则表达式之: '*' star 星号 匹配0或多个 4 5 6 【教程】详解Python正则表达式之: [] bracket 中括号 匹配某集合内的字符 【教程】详解Python正则表达式之: '|' vertical bar 竖杠 【教程】详解Python正则表达式之: (…) group 分组 3 7 8 【教程】详解Python正则表达式之: (?…) extension notation 扩展助记符 【教程】详解Python正则表达式之: (?:...) non-capturing group 非捕获组 9 10 【教程】详解Python正则表达式之: (?P<name>…) named group 带命名的组 11 【教程】详解Python正则表达式之: (?P=name) match earlier named group 匹配前面 12 已命名的组 【教程】详解Python正则表达式之: (?(id/name)yes-pattern|no-pattern) 条件性匹配 13 【教程】详解Python正则表达式之: (?=…) lookahead assertion 前向匹配 /前向断言 14 【教程】详解Python正则表达式之: (?!…) negative lookahead assertion 前向否定匹配 / 15 前向否定断言 【教程】详解Python正则表达式之: (?<=…) positive lookbehind assertion 后向匹配 / 16 后向断言 【教程】详解Python正则表达式之:s 匹配任一空白字符 17 18 【教程】详解Python正则表达式之:re.LOCALE re.L 本地化标志 http://www.crifan.com/detailed_explanation_about_python_regular_express http://www.crifan.com/detailed_explanation_about_python_regular_express_dot_match_any_single_char 3 http://www.crifan.com/detailed_explanation_about_python_regular_express_caret_match_string_start 4 http://www.crifan.com/detailed_explanation_about_python_regular_express_dollar_match_string_end 5 http://www.crifan.com/detailed_explanation_about_python_regular_express_match_zero_or_more 6 http://www.crifan.com/detailed_explanation_about_python_regular_express_match_a_set_of_chars 7 http://www.crifan.com/detailed_explanation_about_python_regular_express_about_vertical_bar 8 http://www.crifan.com/detailed_explanation_about_python_regular_express_about_group 9 http://www.crifan.com/detailed_explanation_about_python_regular_express_extension_notation 10 http://www.crifan.com/detailed_explanation_about_python_regular_express_non_capturing_group 11 http://www.crifan.com/detailed_explanation_about_python_regular_express_named_group 12 http://www.crifan.com/detailed_explanation_about_python_regular_express_match_named_group 13 http://www.crifan.com/detailed_explanation_about_python_regular_express_yes_or_no_conditional_match 14 http://www.crifan.com/detailed_explanation_about_python_regular_express_lookahead_assertion 15 http://www.crifan.com/detailed_explanation_about_python_regular_express_negative_lookahead_assertion 16 http://www.crifan.com/detailed_explanation_about_python_regular_express_positive_lookbehind_assertion 17 http://www.crifan.com/detailed_explanation_about_python_regular_express_match_any_whitespace_char 18 http://www.crifan.com/detailed_explanation_about_python_regular_express_flag_re_locale_re_l 1 2 9
  • 14. Python中的正则表达式相关 【教程】详解Python正则表达式之:re.UNICODE re.U 统一码标志 19 【整理】Python中的re.search和re.findall之间的区别和联系 + re.finall中带命名的组,不 20 带命名的组,非捕获的组,没有分组四种类型之间的区别 【总结】有些需要搜索的内容是重叠的,则使用单一的正则表达式是无法实现的 21 【教程】以Python中的re模块为例,手把手教你,如何从无到有,写出相对复杂的正则表 22 达式 【教程】如何教你看懂复杂的正则表达式 23 19 http://www.crifan.com/detailed_explanation_about_python_regular_express_flag_re_unicode_re_u http://www.crifan.com/python_re_search_vs_re_findall http://www.crifan.com/some_string_to_be_searched_is_overlap_so_can_not_implement_in_single_regular_expression 22 http://www.crifan.com/how_to_write_your_own_complex_regular_expression_in_python_re 23 http://www.crifan.com/tutorial_teach_you_how_to_understand_the_complex_regular_expression 20 21 10
  • 15. 第 10 章 Python中的Web框架 相关旧帖 【整理】Python中常见的Web框架 【记录】安装Django 1 2 【记录】基于通过pip安装官网Django后,折腾第一个Django的app 3 【记录】基于通过pip安装官网Django后,折腾第二个Django的app 4 1 http://www.crifan.com/python_web_framework http://www.crifan.com/record_install_django 3 http://www.crifan.com/after_pip_install_official_django_try_first_app 4 http://www.crifan.com/after_pip_install_official_django_try_second_app 2 11
  • 16. 第 11 章 Python中的Cookie,Http相关 相关旧帖 【已解决】Python中使用cookielib的FileCookieJar去save(),结果出错: 1 NotImplementedError 【整理】Python中Cookie的处理:自动处理Cookie,保存为Cookie文件,从文件载入 2 Cookie 1 2 http://www.crifan.com/python_cookiejar_filecookiejar_save_error_notimplementederror http://www.crifan.com/python_auto_handle_cookie_and_save_to_from_cookie_file 12
  • 17. 第 12 章 Python中的数据库相关 相关旧帖 【记录】使用Python操作MySQL数据库 1 【记录】为Python安装MySQL数据库模块:MySQLdb 1 2 2 http://www.crifan.com/try_python_to_operate_mysql http://www.crifan.com/python_install_module_mysql_mysqldb 13
  • 18. 第 13 章 Python中的其他相关的内容 相关旧帖 【整理】Python中的logging模块的使用(可以实现同时输出信息到cmd终端窗口和log文 1 件(txt)中) 【整理】Python中写完文件再关闭后,不知道需要sleep多长时间才是安全的(才能保持 2 数据真正写入了) 【已解决】安装Scrapy过程中出错:error: Unable to find vcvarsall.bat 3 【已解决】Python中如何在嵌套函数内部访问被嵌套(的父级函数)中的(局部,非全 4 局)变量 【已解决】Python中,带填充和设置对齐方式的,格式化字符串输出 5 【记录】折腾Python中的psutil:一个用于获得处理器和系统相关信息的模块 【记录】折腾Python中的mmseg中文分词模块 6 7 【已解决】安装Python模块mmseg出错:error: Unable to find vcvarsall.bat 8 【未解决】Python中安装mmseg时编译出错:LINK : error LNK2001: 无法解析的外部符 9 号 initmmseg 【未解决】Python中去运行mmseg代码结果出错:WindowsError: [Error 126] 【已解决】Python中,将字符串转换为函数,并且实现带参数的函数调用 【记录】折腾Python中的一个绘制图表的模块:pycha 【记录】安装Python版本的cairo模块:Pycairo 【已解决】Python中使用setup.py 14 module named setuptools 11 12 13 install去安装别的模块结果出错:ImportError: 【已解决】Python代码运行出错:ImportError: No module named lines 【记录】用PyInstaller把Python代码打包成单个独立的exe可执行文件 1 10 【记录】用cx_Freeze把Python代码打包成单个独立的exe可执行文件 No 15 16 17 http://www.crifan.com/summary_python_logging_module_usage 2 http://www.crifan.com/python_after_write_file_then_do_not_know_how_long_to_sleep_is_safe_close 3 http://www.crifan.com/while_install_scrapy_error_unable_to_find_vcvarsall_bat 4 http://www.crifan.com/python_access_parent_nesting_function_local_variable_from_nested_function 5 http://www.crifan.com/python_string_format_fill_with_chars_and_set_alignment 6 http://www.crifan.com/try_python_psutil 7 http://www.crifan.com/try_python_mmseg_chinese_segment_on_mmseg_algorithm 8 http://www.crifan.com/python_mmseg_error_unable_to_find_vcvarsall_bat 9 http://www.crifan.com/python_mmseg_link_error_lnk2001_unresolved_external_symbol_initmmseg 10 http://www.crifan.com/python_import_mmseg_windowserror_error_126 11 http://www.crifan.com/python_convert_string_to_function_then_call 12 http://www.crifan.com/python_making_charts_module_pycha 13 http://www.crifan.com/python_cairo_module_pycairo 14 http://www.crifan.com/python_setup_py_install_importerror_no_module_named_setuptools 15 http://www.crifan.com/python_importerror_no_module_named_lines 16 http://www.crifan.com/use_pyinstaller_to_package_python_to_single_executable_exe 17 http://www.crifan.com/use_cx_freeze_to_package_python_to_single_executable_exe 14
  • 19. Python中的其他相关的内容 【已解决】Python中通过cs_Freeze去打包exe出错:ImportError: No module named 18 'traceback' 【记录】下载和安装Python的第三方图像处理的库:PIL(Python Imaging Library) 【已解决】Python中通过PIL-1.1.7.win32-py2.7.exe安装PIL结果出错:Python 20 2.7 required, which was not found in the registry 【记录】折腾Python中的pprint 19 version 21 18 http://www.crifan.com/python_cx_freeze_importerror_no_module_named_traceback http://www.crifan.com/python_module_pil 20 http://www.crifan.com/python_install_pip_error_python_version_2_7_required_which_was_not_found_in_the_registry 21 http://www.crifan.com/python_module_pprint 19 15