大家读过哪些 Python 源码呢?

2014-07-22 22:12:01 +08:00
 jyjmrlk
标准库、外部库都行,下面俩个就不用推荐了。
最好谈谈体会哦。

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])
4800 次点击
所在节点    Python
12 条回复
tonyluj
2014-07-22 22:19:04 +08:00
tornado/web.py
CPython的src算不算?
harryhao
2014-07-23 00:36:24 +08:00
python core,挺好看的
davidli
2014-07-23 00:39:24 +08:00
tornado
看着里面一个个 try 和 if-else, 一直在想自己什么时候经验才能丰富到这种程度.
cbsw
2014-07-23 00:59:55 +08:00
有两种情况:因工作需要而看源码,因为有些文档说得不太明白;因自己想通过阅读优秀的源码学习,这个必须得读写得非常优秀的代码,听别人说过 pocoo 小组的代码都写得很棒,有空准备花时间读读
datou552211
2014-07-23 09:58:03 +08:00
dulwich 好难
no13bus
2014-07-23 13:18:47 +08:00
@cbsw @Livid 说的
lianghui
2014-07-23 14:39:17 +08:00
tornado
webob
webpy
cherrypy
requests
urllib2
urllib3
redis-py
huey
pika
fapws3
bottle
lianghui
2014-07-23 14:52:54 +08:00
读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
2014-07-23 16:45:38 +08:00
读过wsgiref、SocketServer库
julyclyde
2014-07-23 16:45:56 +08:00
读过django、webpy、flask框架的URL dispatch部分
arbipher
2014-07-28 09:51:22 +08:00
惭愧,只读过tornado
laoisaudi
2014-07-28 15:01:13 +08:00
惭愧,只读过tornado +1

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/123998

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX