
Python
Python
文大侠666
专注安全领域,擅长Go/C++,玩点大数据。
展开
-
python并行处理数据
背景尽管大数据处理越来越流行,但是少不了本地python处理大量数据的场景,这时候单线程处理效率较低,本文以csv探讨常用的几种python本地并行处理数据方式。1.自分割处理顾名思义,就是自己分割文件,起多线程处理数据,相对比较麻烦,但是效率很高。主要就是按照指定大小分割文件,使用信号量控制并行线程个数,具体实现如下:# 自己分割文件,分块多线程处理class ParallelSelfSplit: def __init__(self, max_thread_num=multip原创 2020-10-23 17:44:56 · 1481 阅读 · 0 评论 -
python中常见技巧
标题说是技巧,其实也是常常遇到的一些问题,有些方法尽管可以解决问题甚至是常用的,但是python提供了更好的解决方法。对应的演示我会注明推荐和不推荐的用法。判断列表空数据经常我们需要判断列表是否为空,都是用len判断长度,其实python自动会将空列表判断为False,因此直接判断即可,如下:def test1(): arr1 = [1, 2, 3, 4, 5] ar...原创 2018-07-29 20:07:58 · 830 阅读 · 0 评论 -
python中父子进程
最近在使用python中的multiprocessing模块时遇到一些问题,很多人应该遇到相同问题,简单研究下,供有需要的参考。首先,要明白multiprocessing的出现很大程度是为了解决python GIL锁带来的多线程低效问题,其次,注意Windows上和Linux上的进程、线程行为不一致。那么我们常遇到的问题如下:1.父进程开新的子进程完成任务,父进程关闭时,必须关闭子进程...原创 2018-08-02 22:00:39 · 7059 阅读 · 2 评论 -
python中函数相关的坑
主要是笔者在实际开发中遇到的python函数相关的问题,关系到对python一些概念的深入理解,记下供参考。1.局部变量作用域问题python支持闭包,默认闭包中引用的变量读时按照由内而外的顺序(局部->外部->全局->内建)来搜索,但是在写时默认只找当前最近作用域,如果当前作用域没有则默认赋值时新建一个局部变量,如下代码:def test_local_var():...原创 2018-08-09 21:37:43 · 395 阅读 · 0 评论 -
py2exe打包pyside项目时出错
使用py2exe打包pyside时发现如下错误: Traceback (most recent call last): File "Main.py", line 4, in <module> File "zipextimporter.pyo", line 82, in load_module File "PySide\__init__.pyo", line 41,...原创 2017-09-20 13:43:37 · 772 阅读 · 0 评论 -
python类特性
习惯了C++和Java OO(面向对象)思想的程序员刚转到python会有些不习惯,python中对很多操作都做了简化,完全的面向过程编程也很容易(事实上很多人确实在这样做),但是实际上python针对类提供了很多有用的特性,了解这些可以编写更好的Python OO程序。1.命名元组默认的python元组访问时,需要按照序号访问,这样一是不易阅读二是扩展比较困难,python collec...原创 2018-10-21 17:18:12 · 545 阅读 · 0 评论 -
深入理解python属性
在java等编译语言中,我们倾向于将成员变量设为private,通过public的get/set方法来访问对应的字段,这样做的好处在于get/set起到了拦截的作用,在这个点我们可以插入自己的逻辑,也就是常说的AOP(面向切面编程),比如日志、缓存、延迟创建等操作。但是python并不推荐这种方式,主要是python的“约定大于配置“原则决定私有成员变量并不是完全不可访问,实际上只是变了下名字...原创 2018-11-10 14:59:08 · 496 阅读 · 0 评论 -
深入理解python元类
相对python的简单来说,元类显得有些复杂了,但是理解元类会让你的python代码威力大大增加,理解元类需要了解一些python背后的东西,相信通过本文的叙述你能很快理解运用这一利器。类的本质首先我们思考下,python中的类是什么,如下代码:class ClassObject(): class_a = 1 def __init__(self): ...原创 2018-11-11 15:32:05 · 359 阅读 · 0 评论 -
利用python实现ORM
做web开发的基本绕不过ORM,很多时候ORM可以大大减少开发工作量,那么ORM是怎样实现的呢?其实很简单,说穿了一文不值,本文先实现一个简单的ORM然后分析下现在流行的python ORM框架peewee源码。ORM原理ORM即对象关系映射(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),简单来说就是把数据库的一个表映射成程序中的一...原创 2018-11-18 21:08:52 · 11578 阅读 · 2 评论