2016年5月20日

摘要: 在IO编程一节中,我们已经知道,CPU的速度远远快于磁盘、网络等IO。在一个线程中,CPU执行代码的速度极快,然而,一旦遇到IO操作,如读写文件、发送网络数据时,就需要等待IO操作完成,才能继续进行下一步操作。这种情况称为同步IO。 在IO操作的过程中,当前线程被挂起,而其他需要CPU执行的代码就无 阅读全文
posted @ 2016-05-20 16:01 邬兴亮 阅读(220) 评论(0) 推荐(0) 编辑
摘要: Web框架把我们从WSGI中拯救出来了。现在,我们只需要不断地编写函数,带上URL,就可以继续Web App的开发了。 但是,Web App不仅仅是处理逻辑,展示给用户的页面也非常重要。在函数中返回一个包含HTML的字符串,简单的页面还可以,但是,想想新浪首页的6000多行的HTML,你确信能在Py 阅读全文
posted @ 2016-05-20 15:58 邬兴亮 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 由于用Python开发一个Web框架十分容易,所以Python有上百个开源的Web框架。这里我们先不讨论各种Web框架的优缺点,直接选择一个比较流行的Web框架——Flask来使用。 用Flask编写Web App比WSGI接口简单(这不是废话么,要是比WSGI还复杂,用框架干嘛?),我们先用pip 阅读全文
posted @ 2016-05-20 15:55 邬兴亮 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 数据库表是一个二维表,包含多行多列。把一个表的内容用Python的数据结构表示出来的话,可以用一个list表示多行,list的每一个元素是tuple,表示一行记录,比如,包含id和name的user表: Python的DB-API返回的数据结构就是像上面这样表示的。 但是用tuple表示一行很难看出 阅读全文
posted @ 2016-05-20 15:46 邬兴亮 阅读(326) 评论(0) 推荐(0) 编辑
摘要: MySQL是Web世界中使用最广泛的数据库服务器。SQLite的特点是轻量级、可嵌入,但不能承受高并发访问,适合桌面和移动应用。而MySQL是为服务器端设计的数据库,能承受高并发访问,同时占用的内存也远远大于SQLite。 此外,MySQL内部有多种数据库引擎,最常用的引擎是支持数据库事务的Inno 阅读全文
posted @ 2016-05-20 15:43 邬兴亮 阅读(250) 评论(0) 推荐(0) 编辑
摘要: SQLite是一种嵌入式数据库,它的数据库就是一个文件。由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用程序中,甚至在iOS和Android的App中都可以集成。 Python就内置了SQLite3,所以,在Python中使用SQLite,不需要安装任何东西,直接使用。 在使用 阅读全文
posted @ 2016-05-20 15:41 邬兴亮 阅读(215) 评论(0) 推荐(0) 编辑
摘要: SMTP用于发送邮件,如果要收取邮件呢? 收取邮件就是编写一个MUA作为客户端,从MDA把邮件获取到用户的电脑或者手机上。收取邮件最常用的协议是POP协议,目前版本号是3,俗称POP3。 Python内置一个poplib模块,实现了POP3协议,可以直接用来收邮件。 注意到POP3协议收取的不是一个 阅读全文
posted @ 2016-05-20 13:22 邬兴亮 阅读(315) 评论(0) 推荐(0) 编辑
摘要: SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。 Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件。 首先,我们来构造一个最简单的纯文本邮件: 注意到构造MIMEText对 阅读全文
posted @ 2016-05-20 13:20 邬兴亮 阅读(312) 评论(0) 推荐(0) 编辑

导航