Python基础
dutsoft
这个作者很懒,什么都没留下…
展开
-
Python信号处理
SIGKILL信号是无法在程序内部捕获的,一旦发送SIGKILL信号给进程,Linux就将进程停止在那里。Python自己并不检查SIGKILL,而是直接把底层标准C的运行时错误返回。原创 2017-04-30 19:35:00 · 5010 阅读 · 0 评论 -
python生产者/消费者示例
Python多线程实现生产者/消费者模式。原创 2017-01-24 23:10:26 · 3015 阅读 · 0 评论 -
python并发之concurrent.futures
Python标准库为我们提供了threading和multiprocessing模块编写相应的多线程/多进程代码。从Python3.2开始,标准库为我们提供了concurrent.futures模块,它提供了ThreadPoolExecutor和ProcessPoolExecutor两个类,实现了对threading和multiprocessing的更高级的抽象,对编写线程池/进程池提供了直接的支...原创 2017-01-25 10:44:54 · 24721 阅读 · 2 评论 -
python并发之multiprocessing
由于GIL(全局解释锁)的问题,python多线程并不能充分利用多核处理器。如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程。multiprocessing可以给每个进程赋予单独的Python解释器,这样就规避了全局解释锁所带来的问题。与threading.Thread类似,可以利用multiprocessing.Process对象来创建一个进程。multiproces...原创 2017-01-23 17:19:34 · 22749 阅读 · 3 评论 -
python并发之协程
python协程,Coroutine。原创 2017-01-25 13:57:16 · 7511 阅读 · 0 评论 -
Python装饰器单例
python装饰器实现单例原创 2016-07-28 18:48:38 · 1207 阅读 · 0 评论 -
Python动态加载
动态加载模块、类和方法原创 2016-07-28 13:12:09 · 3652 阅读 · 1 评论 -
Python raw_input含中文时CMD下乱码
Python的raw_input语句中如果包含中文,在Windows环境CMD中执行时会显示乱码。由于raw_input语句不支持unicode显示,在中文字符串前加u会报错。解决办法:在语句中进行强制的编码转换c = raw_input (unicode('请输入内容:','utf-8').encode('gbk'))原创 2017-07-02 14:21:55 · 3336 阅读 · 0 评论 -
Python yield 迭代访问mongo
mongo中使用limit()方法来读取指定数量的数据,使用skip()方法来跳过指定数量的数据。但skip时是一条条遍历过来的,在数据量较大时,skip性能堪忧。慢的根本原因在于:“索引所依赖的b+结构不能用于排名计算”。 在某些需要遍历全表分段取数据的场景,我们可以暂存一个_id,通过yield的方式来访问mongo集合,规避skip的使用。# 迭代方式访问mongodef find_原创 2018-01-17 20:09:46 · 802 阅读 · 0 评论 -
Python任意字符串转16, 32, 64进制
Python字符串转数字 import binascii s = 'test123456test' str_16 = binascii.b2a_hex(s.encode('utf-8')) # 字符串转16进制 print(str_16) def baseN(num, b): return ((num == 0) and "0") o原创 2018-01-16 16:25:32 · 25270 阅读 · 1 评论 -
SQLAlchemy打印建表语句
SQLAlchemy printing raw SQL from create()原创 2016-09-29 11:36:37 · 1765 阅读 · 0 评论 -
multiprocessing.Pool报pickling error
multiprocessing.Pool出现pickling error原创 2017-04-21 18:46:25 · 13956 阅读 · 6 评论 -
multiprocessing.Pool中initializer的利用
multiprocessing.Pool在初始化一个pool对象时,可以传initializer和initargs两个参数,在task开始进行运行前,进行一些初始化的工作。原创 2017-07-08 00:05:31 · 7598 阅读 · 0 评论 -
Python浮点计算的坑~
因为Python浮点计算问题,导致在结算商品价格时出现偏差:In [1]: 1999 - int(19.99*100)Out[1]: 1In [2]: int(19.99*100)Out[2]: 1998解决方式:先计算,再取整。原创 2017-07-05 21:43:56 · 1262 阅读 · 0 评论 -
pip配置默认镜像源
在连接pip官网的时候状况不是很稳定。很多国内镜像站可以使用,加速下载。 使用镜像源很简单,用-i指定就行了:easy_install -i http://pypi.douban.com/simple/ geventpip install -i http://pypi.douban.com/simple/ gevent如果觉得太麻烦,可以配制成默认: linux下,修改~/.pip/pip.c原创 2016-02-29 12:41:19 · 12271 阅读 · 0 评论 -
Pyhton执行shell
python调用Shell脚本,有两种方法:os.system(cmd)或os.popen(cmd),前者返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的输出内容。 1.os.system()print os.system("ls") #02.os.popen(cmd) os.popen(cmd)会把执行的cmd的输出作为值返回。这种调用方式是通过管道的方式来实现,函数返回一个file-原创 2016-03-04 19:15:40 · 605 阅读 · 0 评论 -
Python笔记之网络编程
Python笔记之网络编程原创 2014-10-27 15:14:36 · 1026 阅读 · 0 评论 -
Python中的__init__.py与模块导入
python中的Module是比较重要的概念。常见的情况是,事先写好一个.py文 件,在另一个文件中需要import时,将事先写好的.py文件拷贝 到当前目录,或者是在sys.path中增加事先写好的.py文件所在的目录,然后import。这样的做法,对于少数文件是可行的,但如果程序数目很 多,层级很复杂,就很吃力了。有没有办法,像Java的Package一样,将多个.py文件组织起来转载 2014-10-26 22:23:55 · 13359 阅读 · 1 评论