大家读过哪些 Python 源码呢? - V2EX
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
yuanji

大家读过哪些 Python 源码呢?

  •  
  •   yuanji
    yuanji-dev Jul 22, 2014 5458 views
    This topic created in 4312 days ago, the information mentioned may be changed or developed.
    标准库、外部库都行,下面俩个就不用推荐了。
    最好谈谈体会哦。

    antigravity.py
    -----------------

    import webbrowser

    webbrowser.open("http://xkcd.com/353/")


    this.py
    -------

    s = """Gur Mra bs Clguba, ol Gvz Crgref

    Ornhgvshy vf orggre guna htyl.
    Rkcyvpvg vf orggre guna vzcyvpvg.
    Fvzcyr vf orggre guna pbzcyrk.
    Pbzcyrk vf orggre guna pbzcyvpngrq.
    Syng vf orggre guna arfgrq.
    Fcnefr vf orggre guna qrafr.
    Ernqnovyvgl pbhagf.
    Fcrpvny pnfrf nera'g fcrpvny rabhtu gb oernx gur ehyrf.
    Nygubhtu cenpgvpnyvgl orngf chevgl.
    Reebef fubhyq arire cnff fvyragyl.
    Hayrff rkcyvpvgyl fvyraprq.
    Va gur snpr bs nzovthvgl, ershfr gur grzcgngvba gb thrff.
    Gurer fubhyq or bar-- naq cersrenoyl bayl bar --boivbhf jnl gb qb vg.
    Nygubhtu gung jnl znl abg or boivbhf ng svefg hayrff lbh'er Qhgpu.
    Abj vf orggre guna arire.
    Nygubhtu arire vf bsgra orggre guna *evtug* abj.
    Vs gur vzcyrzragngvba vf uneq gb rkcynva, vg'f n onq vqrn.
    Vs gur vzcyrzragngvba vf rnfl gb rkcynva, vg znl or n tbbq vqrn.
    Anzrfcnprf ner bar ubaxvat terng vqrn -- yrg'f qb zber bs gubfr!"""

    d = {}
    for c in (65, 97):
    for i in range(26):
    d[chr(i+c)] = chr((i+13) % 26 + c)

    print "".join([d.get(c, c) for c in s])
    12 replies    2014-07-28 15:01:13 +08:00
    tonyluj
        1
    tonyluj  
       Jul 22, 2014
    tornado/web.py
    CPython的src算不算?
    harryhao
        2
    harryhao  
       Jul 23, 2014
    python core,挺好看的
    davidli
        3
    davidli  
       Jul 23, 2014
    tornado
    看着里面一个个 try 和 if-else, 一直在想自己什么时候经验才能丰富到这种程度.
    cbsw
        4
    cbsw  
       Jul 23, 2014
    有两种情况:因工作需要而看源码,因为有些文档说得不太明白;因自己想通过阅读优秀的源码学习,这个必须得读写得非常优秀的代码,听别人说过 pocoo 小组的代码都写得很棒,有空准备花时间读读
    datou552211
        5
    datou552211  
       Jul 23, 2014   1
    dulwich 好难
    no13bus
        6
    no13bus  
       Jul 23, 2014
    @cbsw @Livid 说的
    lianghui
        7
    lianghui  
       Jul 23, 2014
    tornado
    webob
    webpy
    cherrypy
    requests
    urllib2
    urllib3
    redis-py
    huey
    pika
    fapws3
    bottle
    lianghui
        8
    lianghui  
       Jul 23, 2014   5
    读tornado,能了解异步事件的处理和封装,另外就是http协议封装和基本处理,一个简单的template封装。
    webob你能看了解一个功能完善的wsgi库的构建
    webpy能了解一个精巧的wsgi和web框架封装,db库有些简单但能让你了解一个db的基本功能,一个pthonic的template模板系统。
    cherrypy一个完美的python面向对象web框架,自身的实现的产品级别的http server,支持chunked,ssl等,然后就是一个gg功能强大的hook系统以及wsgi api封装。

    requests一个让人偷懒的http client库 包含www-auth, 证书,cookies,proxy。连接池的优化等
    urllib3 urllib的再封装主要优化了请求的数据接收处理和https认证以及一个简单连接池。
    redis-py了解redis的功能,一个线程安全的redis库,也许需要分布式cache系统,需要作很多事。
    huey一个多backend的多线程ktas库,有任务定时,和任务queue,缺点过于简单,使用pickle序列化,不能解藕两端的的任务代码。
    pika apmq的实现,有很多异步的adapter实现方式(pylibev, tornado,poll, select),和一个比较有趣的i协议封装
    fapws3了解下简单的python c模块的封装
    bottle简单的web框架,最有趣的也许是那个五脏的麻雀,简单的hook,简单route系统,简单的wsgi request 和response封装和一些wsgi server的多适配api封装,和多模板适配简单封装
    julyclyde
        9
    julyclyde  
       Jul 23, 2014
    读过wsgiref、SocketServer库
    julyclyde
        10
    julyclyde  
       Jul 23, 2014
    读过django、webpy、flask框架的URL dispatch部分
    arbipher
        11
    arbipher  
       Jul 28, 2014
    惭愧,只读过tornado
    laoisaudi
        12
    laoisaudi  
       Jul 28, 2014
    惭愧,只读过tornado +1
    About     Help     Advertise     Blog     API     FAQ     Solana     2900 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 49ms UTC 15:25 PVG 23:25 LAX 08:25 JFK 11:25
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86