Python
文章平均质量分 69
NoneSec
聊以记录点滴
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Python中的编码
1. Python源码文件的编码Python源码文件的编码格式决定了在该源文件中声明的字符串(str和unicode)的编码格式,例如py源码如下:#!/usr/bin/env python# coding:utf-8if __name__ == '__main__': str='中文' print repr(str)如果文件保存为utf-8(vim 中用set fileencod原创 2015-10-18 16:47:27 · 11758 阅读 · 0 评论 -
multiprocessing解析(二):Pool解析
前面一篇已经把multiprocessing.Process这个最基础的类给解剖了,接下来的这篇就是整个multiprocessing中最重要的类Pool的浅析了,因为如果把Pool的所有方方面面都顾及到的话篇幅会比较长,所以我只会把Pool的整体框架整理一下,细节的内容可以更多的去阅读源码。 1. multiprocessing.Pool的几个参数的解读 Pool的构造参数中有三个我认为比较有原创 2017-05-22 19:21:07 · 12148 阅读 · 0 评论 -
multiprocessing解析(一):Process的解析
最近项目中为了提升Python的运行效率,要使用到multiprocessing模块,场景其实不算复杂但是为了避免带来一些隐晦的bug,我觉得还是深入了解一下它比较好。因为当我使用multiprocessing的时候我觉得Python替我做的事情太多了(其实也就是用multiprocessing太方便了)给我带来了快感却没有安全感,还有一个主要的原因就是我觉得fork是最”奇幻”的函数。 可能会分原创 2017-05-21 09:45:41 · 23555 阅读 · 0 评论 -
Python2的function cache实现
今天看到Python3中有lru_cache的function cache,无聊就试着在Python2.7中实现了一个简单的版本:#!env python#coding=utf-8# # Author: liuxingen@nsfocus.com# # Created Time: 2017年05月28日 星期日 09时34分06秒# # FileName: test原创 2017-05-28 10:19:14 · 3015 阅读 · 0 评论 -
pykafka性能比较
最近做了一下pykafka的性能测试,主要涉及到use_greenlets、use_rdkafka、sync这三个参数。 1. 测试的数据 我用一个770MB的日志文件来作为测试数据,文件包含的行数为10175702 行。 2. 测试的demo 在写测试demo的时候遇到了几个问题,别看这么简单、很短的代码却也遇到了几个”棘手”的问题。#!env python#coding=utf-8#原创 2017-05-12 22:41:32 · 8296 阅读 · 7 评论 -
python-daemon日志记录的一个小问题
最近用到了python-daemon这个库来使一个进程成为daemon进程,代码大致如下:#!env python#coding=utf-8import loggingimport multiprocessingimport logging.configimport daemonfrom test import wrapper2logger = Nonepool = Nonedef m原创 2017-05-04 13:46:16 · 3341 阅读 · 0 评论 -
Django的request.POST获取不到内容的原因
我通过如下的一段程序发送post请求:import urllib3pool = urllib3.connection_from_url('http://127.0.0.1:8090')resp = pool.request('POST', '/polls/', fields={'key1':'value1', 'key2':'value2'}, headers={'Content-Type':'原创 2017-01-07 17:34:14 · 27064 阅读 · 15 评论 -
解决centos中"ImportError: No module named _tkinter"问题
今天想要用Metasploit的时候出现了"ImportError: No module named _tkinter"的错误,_tkinter是被Tkinter模块引用的,因为对Tkinter不太熟悉所以也不知道为什么会有这个错误。 我本身是在centos中,而且系统中存在不同的账号分别使用了不同版本的Python,所以我先在root账号下试了一下import Tkinter是OK的,接着用命令原创 2016-12-28 14:16:18 · 8771 阅读 · 0 评论 -
Python相对、绝对导入浅析
这篇文章从另外一个不同的视角来分析一下Python的import机制,主要的目的是为了搞懂import中absolute、relative import遇到的几个报错。 这里不同的视角是指从Python import hooks这个方面来展开,当然本身关于Python import hooks有很多的文章,我这里不打算展开聊这个方面的内容,文章中主要会结合代码和PEP 302 – New Impo原创 2016-09-15 16:10:41 · 24126 阅读 · 1 评论 -
Cython初窥
这篇关于Cython的文章主要是用来阐述什么是Cython,Cython的主要用途是什么。对于Cython的具体用法基本不涉及,因为我觉得了解它的主要用途以及它的优缺点,那么等到有使用场景的时候再来学习一下它的document就可以了。 1. Python的扩展模块(extention module) 我们知道可以用c、c++来扩展Python,这样做的目的就是为了把一些关键功能用更快、更高效的原创 2016-06-14 14:38:03 · 8404 阅读 · 0 评论 -
ImportError: No module named 'xxx'的另外一种原因
今天遇到了一个关于Python的ImportError: No module named 'xxx'问题,其中也算是一些经验总结,特记录如下。 问题的场景大致是这样的:在django中我新建了一个名为sitesetting的app,这个app不是通过django的python manage.py startapp sitesetting命令来新建的,而是我手动mkdir sitesettin原创 2016-05-19 09:32:23 · 23964 阅读 · 3 评论 -
遇到的一个坑
遇到的一个坑 这两天没事看了一下Python的metaclass机制,然后把网上的一个示例直接拿来跑了一下。在示例的基础上面加了一点其它的功能想验证一下自己的想法,发现出现了一个很诡异的情形,最后发现是自己给自己挖的一个坑。1. Python的metaclass 关于Python的metaclass机制文章网上已经有很多优秀的文章了,我就不再赘述了,简单的总结一下我的理解: 1. Pytho原创 2015-12-01 13:36:30 · 1261 阅读 · 0 评论 -
Python的星号(*、**)的作用
Python的星号(*、**)的作用1. 函数的可变参数当函数的参数前面有一个星号*的时候表示这是一个可变的位置参数,两个星号**表示是可变的关键字参数。#!env python#coding=utf-8#def foo(*args, **kwarg): for item in args: print item for k,v in kwarg.items():原创 2015-11-30 17:13:36 · 30828 阅读 · 0 评论 -
Python的logging功能使用过程中的一个问题
现象:生产中心进行拷机任务下了300个任务,过了一阵时间后发现任务不再被调度起来,查看后台日志发现日志输出停在某个时间点。分析:首先确认进程存在并没有dead。然后用strace –p看了一下进程,发现进程卡在futex调用上面,应该是在锁操作上面出问题了。用gdb attach进程ID,用py-bt查看一下堆栈,发现堆栈的信原创 2015-03-19 14:05:46 · 8877 阅读 · 3 评论
分享