版本:v2.0
摘要
本文主要介绍了个人目前已经发布整理的Python资料,以及和Python语言本身相关的总结,以及各种内置(str,unicode,json,OptionParser等)模块的总结,和第三方(Beautifulsoup等)库的总结,以及介绍Python方面的有价值的参考资料。
2013-10-10
修订历史 | ||
---|---|---|
修订 2.0 | 2013-10-10 | crl |
| ||
修订 2012-11-06 | 1.2 | crl |
|
版权 © 2013 Crifan, http://crifan.com
目录
之前自己折腾了很多Python方面的东西。
然后,后来就整理出了很多东西:
将相关的内容,整理成系列的教程:
将一些常用的功能,整理成通用的函数。
最终形成了自己的python的库函数
详见:
关于Python方面的基础知识已移至:
包括下载合适版本的Python,安装Python等等内容。
接着,对于Python,相对的一些知识点,专门整理出了一系列的教程,算是高级教程系列。
目前已有:
此处整理一下,关于Python语言本身,这方面的心得和体会:
python中有很多其他的库,帮你实现各种需要的功能,而你要做的事情,就是import对应的库,然后调用对应的函数即可。
而利用python去编程,去实现一定的功能,更多的层面上,除了学习完python的基本语法之后,就是对各种库,各种模块的如何使用上了,可以极大地提高你做事情的效率。
python中,没有(类似于其他语言可用的,比如SourceFormatX之类的)代码格式话工具,即意味着,你无法用工具,打开python文件,直接点击某个按钮,就可以帮你全部格式化好了。
只能通过手工去格式化你的python代码
所谓手工,那就是,把属于每个函数(def关键字)所属代码,按照自己对代码的内在逻辑的理解,去一行行的缩进
此工作,目前只能手工做,好像也没有其他更加方便的方法。
单独针对手工一行行的处理python代码,不同的工具中,实现的效率也会不同。
推荐使用Notepad++,因为此软件有很多方便你格式化Python代码的功能:
目的在于,对于Python这样的语言,是靠缩进来决定代码逻辑的,所以对于缩进,TAB键和(4个连续的)空格,两者之间不是等价的,会产生语法错误的。
此时就可以利用Notepad++的,将TAB键自动转为(默认为4个,可以自定义个数)空格,实现很方便的代码格式化。
具体参考:Notepad++支持用空格取代TAB键
总之,关于Python代码的格式化,需要手动处理Python代码,而用Notepad++去处理,可以极大地提高效率。
参考这里,启动Python的IDE – IDLE (Python GUI)
然后在里面输入:
import py_compile
回车(↵)后再输入:
py_compile.compile(r"E:\dev_root\Python25\Lib\sgmllib.py")
就可以将对应的py文件编译成pyc了,生成的sgmllib.pyc
在同目录下。
在使用for循环时,要注意其所得的单个变量,是只读的,不能修改。
想要修改其值的话,只能借助其他变量实现。
示例代码如下:
for singleContent in soupContents: #singleContent is BeautifulSoup.Tag ...... if(recursive): ...... filteredSingleContent = singleContent; # here must use another tmp value to store changed value filteredSubContentList = removeSoupContentsTagAttr(filteredSingleContent.contents, ......); ...... filteredSingleContent.contents = filteredSubContentList; # here if use singleContent.contents = filteredSubContentList will cause error !!! #logging.debug("[%d] after filter, sub contents=%s", currentLevel, filteredSingleContent); filtedContents.append(filteredSingleContent); else: ......
目录
此处整理一些,Python内置的各种模块的使用心得:
在写脚本的时候,可以利用add_option去添加对应的参数解析以及帮助信息,而剩下的事情,如何去解析对应的参数和显示帮助信息,都是由OptionParser自动完成了。
参考如下内容:
from optparse import OptionParser def main(): #main procedure begin parser = OptionParser() parser.add_option("-s","--source",action="store", type="string",dest="srcURL",help="source msn/live space address") parser.add_option("-f","--startfrom",action="store", type="string",dest="startfromURL",help="a permalink in source msn/live space address for starting with, if this is specified, srcURL will be ignored.") parser.add_option("-x","--proxy",action="store",type="string",dest="proxy",help="http proxy server, only for connecting live space.I don't know how to add proxy for metaWeblog yet. So this option is probably not useful...") (options, args) = parser.parse_args() #export all options variables for i in dir(options): exec i+" = options."+i #add proxy if proxy: XXX if startfromURL : XXX elif srcURL: XXX else: logging.error("错误XXX") sys.exit(2)
然后我们就可以在运行脚本的时候,添加参数了,比如:
BlogsToWordpress.py -s http://hi.baidu.com/recommend_music
想要查看帮助信息,就是常见的-h或–help:
BlogsToWordpress.py -h
更多例子和解释,可以参考这里:
此处整理Python的第三方的模块,库等的学习心得:
前面第 3.1 节 “学习python的本质就是学习对应的各种模块的用法”已经说了,
其实学习Python的过程,很多时候就是在学习如何使用第三方模块,完成自己需要的功能。
下面就来总结一下,关于,Python的第三方的模块方面的学习心得和体会:
关于Python的第三方库类库,其实网上很多很多相关资料。
其中,官网的Python库:Python Package Index,其中有N多N多的库,有需要的人,可以去那里找找。
其他的网上的N多资源中,我觉得值得看看的有:
此处记录一些不错的Python相关的资料,供需要时参考:
Swaroop, C. H. 著,>沈洁元 译
特点:内容很全。
这里:http://www.elias.cn/Python/HomePage介绍了很多的资源。其中就有python教程的中文版