Linux网络编程 五种I/O
模式及select、epoll方法的理解web优化必须了解的原理之I/o的五种模型和web的三种工作模式五种I/O
模式——阻塞(默认IO模式),非阻塞(常用语管道),I/O多路复用(IO多路复用的应用场景),信号I/O,异步I/O
分类:
系统相关 时间:
2014-05-21 20:56:15
阅读次数:
330
python写单元大多数都会用到unittest和mock,测试代码覆盖率都会用到coverage,最后再用nose把所有的东西都串起来,这样每次出版本,都能把整个项目的单元测试都运行一遍。Unittestunittest就不详细介绍了,注意几点:测试类继承unittest.TestCase测试类、...
分类:
编程语言 时间:
2014-05-21 20:27:47
阅读次数:
413
在编写Python程序时,程序中有中文时经常会出现错误信息:SyntaxError: Non-ASCII character '\xe5'
出现这种情况,可以用如下解决办法:
python的默认编码文件是用的ASCII码,你将文件存成了UTF-8,解决办法很简单,在文件开头加入如下代码:
#coding=utf-8
这就可以了。...
分类:
编程语言 时间:
2014-05-21 15:58:40
阅读次数:
240
使用TCP / IP 套接字(Sockets)
TCP/IP 套接字提供了跨网络的低层控制。TCP/IP套接字是两台计算机之间的逻辑连接,通过它,计算机能够在任何时间发送或接收数据;这个连接一直保持,直到这台计算机显式发出关闭指令。它提供了高度的灵活性,但也带来了大量的问题,在这一章中我们会看到,因此,除非真的需要非常高度的控制,否则,最好还是使用更抽象的网络协议,在这一章的后面我们也会谈...
分类:
其他好文 时间:
2014-05-21 09:55:34
阅读次数:
282
最近编写Python程序时经常遇见中文相关的问题,这里说一个问题的解决方法。
我在使用json模块的dumps()函数时,因为涉及到中文,报出如下错误:
ascii codec can't decode byte 0xe8 in position 0:ordinal not in range(128)
这是编码相关的问题,在该程序中加入如下代码:
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
这样就可以解决该问题了,希望对大家有所帮助。...
分类:
编程语言 时间:
2014-05-21 09:47:21
阅读次数:
323
python的文件锁目前使用的是fcntl这个库,它实际上是调用的...
分类:
编程语言 时间:
2014-05-21 09:18:57
阅读次数:
361
最近在程序中需要取一个列表的top 3元素,就是去一个列表中数值最大的3个元素。这可以用Python的heapq模块来处理。
1、对列表取top N:
现在有一个列表myList,需要取出该列表的最大3个元素和最小3个元素,按如下代码所述的简单例子:
test.py
import heapq
myList = [5, 2, 6, 12, 7, 3, 4, 9]
topNum = 3
n...
分类:
编程语言 时间:
2014-05-21 08:18:57
阅读次数:
335
条件、循环、其它语句
print和import
随着更加深入地学习python,可能会出现这种感觉:有些自以为已经掌握的知识点,还隐藏着一些让人惊讶的特性。
使用逗号输出
打印多个表达式,只要将这些表达式用逗号隔开即可:
>>> print "age:",28
age: 28
参数之间都插入了一个空格符。
如果在结尾加上逗号,那么接下来的语句会与前一条语句在同一行打印:...
分类:
编程语言 时间:
2014-05-21 08:06:46
阅读次数:
424
原文
运行几个线程和同时运行几个不同的程序类似,它有以下好处:
一个进程内的多个线程和主线程分享相同的数据空间,比分开不同的过程更容易分享信息或者彼此通信。
线程有时叫做轻量化过程,而且他们不要求更多的内存开支;它们比过程便宜。
一个线程的顺序是:启动,执行和停止。有一个指令指针跟踪线程正在运行的上下文在哪里。
它可以被抢占(中断)
它能暂时被挂起(也叫做休眠)...
分类:
编程语言 时间:
2014-05-21 08:05:20
阅读次数:
385