Python
wenph2008
我只想静静的写会儿代码~
展开
-
python GIL锁
在python中,有一个大锁经常被提到。1. 是由cpython解释器引起的,二不是python本身的缺陷,但cpython用的最多,被以为是python的缺陷。2. 锁是给多任务单核设计的,现在多任务多核引发这个问题。3. python3做了GIL优化4. IO型是主动释放GIL锁给其他线程用,而计算型如果不是原子的,记得要考虑线程安全。5. 也可以使用多进程避免锁的问题,也可以使用互斥锁避免问题。...原创 2021-01-04 14:41:26 · 195 阅读 · 0 评论 -
Python 读取Excel
# coding=utf-8import openpyxlimport xlrdfile_path = 'a.xlsx'def read_write(row_count): work_book = openpyxl.load_workbook(file_path) work_sheet = work_book['test'] for rows_index i...原创 2020-02-15 12:57:44 · 82 阅读 · 0 评论 -
python第三方库系列之十五--编码库
首先上一张图:我们知道:1字节=8位原创 2015-03-04 17:34:12 · 1342 阅读 · 0 评论 -
python第三方库系列之十六--建立最简单的web服务器
Python 建立最简单的web服务器原创 2015-05-31 00:07:31 · 1369 阅读 · 4 评论 -
python第三方库系列之十七--multiprocessing库
Python 多进程 进程间通信 Queue原创 2015-06-01 22:14:07 · 1061 阅读 · 0 评论 -
python第三方库系列之十九--python测试使用的mock库
一、为什么需要mock 在写unittest的时候,如果系统中有很多外部依赖,我们不需要也不希望把所有的部件都运行一遍。比如,要验证分享到微博的功能,如果每次测试的时候都要真实地把接口调用一遍,不仅效率低,制造很多垃圾数据,还可能因为外部因素导致unittest失败。对于有些耗时更久,或者无法简单创建测试环境的系统,真实的测试就显得更不必要。我们只需要知道代码按照预期执行,并原创 2015-07-13 15:13:21 · 6055 阅读 · 0 评论 -
python第三方库系列之十八--python/django test库
django是属于python语音的web框架,要说django测试,也可以先说说python的测试。django可以用python的方式测试,当然,django也基于python封装了一个自己的测试库。一、python的测试--unitest库def my_func(a_list, idx): return a_list[idx] import unittestclass M原创 2015-07-13 13:51:51 · 1134 阅读 · 0 评论 -
python第三方库系列之二十--批量机器配置管理库SaltStack
我们的服务器由Puppet配置管理工具来管理,服务器上线后由puppet完成初始化和配置等一系列工作(比如,静态 IP 配置,DNS 设置,NFS/SAN 挂载,LDAP/Kerberos 登录,安全加固配置,内核参数优化,防火墙规则配置等等),等初始化完成后开始运行,运行一段时间后有一些需要自动和手动操作的任务(比如升级、重启、备份等),这时候我们使用Fabric来批量执行这些临时任务。转载 2015-07-13 16:14:33 · 1186 阅读 · 0 评论 -
python第三方库系列之二--time库
一、time库二、datetime库原创 2014-11-17 21:14:33 · 1222 阅读 · 0 评论 -
python第三方库系列之二十二--subprocess的用法
python第三方库系列之二十一--subprocess的用法一、为什么要subprocess 从Python 2.4开始,Python引入subprocess模块来管理子进程,以取代一些旧模块的方法:如 os.system、os.spawn*、os.popen*、popen2.*、commands.*,不但可以调用外部的命令作为子进程,而且可以连接到子进程的input/outp原创 2015-08-18 19:31:20 · 800 阅读 · 0 评论 -
python第三方库系列之二十一--python django的权限管理库
在写django代码时,如果要防止某些敏感数据被看,bie原创 2014-09-10 17:41:31 · 3016 阅读 · 0 评论 -
python第三方库系列之二十三--路径库
1.首先看一下这两句话的意思:BASE_DIR1 = os.path.dirname(os.path.dirname(__file__))BASE_DIR2 = os.path.dirname(os.path.dirname(__file__))原创 2014-06-16 10:24:52 · 616 阅读 · 0 评论 -
python第三方库系列之二十四--http-web库
python web 库原创 2014-04-15 18:27:07 · 960 阅读 · 0 评论 -
python第三方库系列之二十五--pip库
pip是什么?pip是python自动包管理工具,要下载什么第三方包,只要pip install xxx-0.3.1 就可安装此软件的0.3.1版本。删除、查看功能具体可问度娘。以前安装pip非常复杂,又要安装pip,又要安装setuptool,安装过程还可能报各种错误。现在好了!只要一个命令就可以安装pip。1)去往 https://pip.pypa.io/en/stable/ins原创 2015-09-21 12:23:05 · 938 阅读 · 0 评论 -
python第三方库系列之二十六--virtualenv库
python pip virtualenv原创 2013-08-02 15:43:33 · 1371 阅读 · 1 评论 -
Django程序无法获取数据库更新过的记录
一、问题之前尝试在django应用中写一个定期从数据库取数据处理的小程序. 这个小程序的代码大体像是这样子:import os, sysimport timeos.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")from apps.my_models import Toyif __name__ == "__mai转载 2015-11-30 14:00:36 · 1430 阅读 · 0 评论 -
python第三方库系列之二十六--不知道被谁删了微信好友
一、原理查看被删的微信好友。原理就是新建群组,如果加不进来就是被删好友了(不要在群组里讲话,别人是看不见的)。二、步骤1. 运行以下代码,然后会弹出一个显示登录网页版微信的二维码窗口,用手机扫描登录。按指示做即可!2. 最终会遗留下一个只有自己的群组,需要手工删一下三、代码#!/usr/bin/env python# coding=utf-8from __futur原创 2016-01-19 13:20:22 · 1033 阅读 · 0 评论 -
python第三方库系列之十二--多线程threading库
GIL,多线程,Python原创 2014-12-17 11:06:44 · 2552 阅读 · 0 评论 -
python第三方库系列之十四--集群化部署定时任务apscheduler库
如果将定时任务部署在一台服务器上,那么这个定时任务就是整个系统的单点,这台服务器出现故障的话会影响服务。对于可以冗余的任务(重复运行不影响服务),可以部署在多台服务器上,让他们同时执行,这样就可以很简单的避免单点。但是如果任务不允许冗余,最多只能有一台服务器执行任务,那么前面的方法显然行不通。本篇文章就向大家介绍如何避免这种互斥任务的单点问题,最后再介绍一下基于APScheduler的分布式定时任原创 2015-02-02 19:29:56 · 3188 阅读 · 0 评论 -
python 类继承与子类实例初始化
__init__方法介绍:If a base class has an __init__() method the derived class's __init__() method must explicitly call it to ensure proper initialization of the base class part of the instance; for exampl转载 2014-04-15 17:36:01 · 834 阅读 · 0 评论 -
django项目的发布
先前写了django项目开发所需的环境,项目写完了,那就要发布了,那发布的步骤是什么呢?精彩待续、、、原创 2013-08-07 11:53:48 · 1476 阅读 · 0 评论 -
python第三方库系列之一--json库
敲好每一行代码,为了以后的xin原创 2014-11-16 15:27:36 · 7432 阅读 · 1 评论 -
django nginx+uwsgi部署
话说django的部署前言: 为什么说要谈django的部署呢?当写完一个django项目你就觉得任务完成了吗?不!只有当它真正健壮的运行起来才能算是一个项目真正的完成。 一、 django的部署方式django的部署方式有多种,这里讲解2种,第一种是非常简单的经常在开发中用来做测试用的:runserver方式。第二种是利用nginx+uwsgi方式来访问djan原创 2014-10-14 16:40:41 · 1142 阅读 · 0 评论 -
python第三方库系列之四--django自带分页工具Paginator
每当用到表格展现数据时,都回遇到表格shu'l原创 2014-11-19 22:31:15 · 3101 阅读 · 0 评论 -
python第三方库系列之三--数据库迁移工具south库
前言:django提供syncdb命令,用于从models自动生成数据库。但在models结构变化后,syncdb并无法自动实现数据库的更新。South组件即是为了解决该问题而出现的。基本上可以作为syncdb的替代。假设我们创建了一个名叫youappname的app,分两种情况:1. 开始就是用了south; 2. 中途加入south一、对于第一种情况,步骤如下:1. 在APP_原创 2014-11-18 22:38:28 · 1612 阅读 · 0 评论 -
python第三方库系列之五--拷贝copy库(深拷贝和浅拷贝)
在Python中,经常要从一个对象到另一个对象原创 2014-11-20 22:16:46 · 5368 阅读 · 0 评论 -
python第三方库系列之九--os库
我们经常会与文件和目录打交道,对于这些操作python提供了一个os模块,里面包含了很多操作文件和目录的函数。想要知道有哪些方法,我们可以运行下面的语句,就可以在屏幕上输出os模块的所有信息:import oshelp(os) 如果你对linux基本操作了解的话,下面的一些os方法应该会很熟悉的,因为基本和linux下的操作方法相同。下面举几个常用的:1.os.getcw原创 2014-11-26 22:58:29 · 1052 阅读 · 0 评论 -
python第三方库系列之十--commands库
我们这次讲的是利用commands模块执行Linux shell命令,当我们用Python写运维脚本时,经常需要执行linux shell的命令,Python中的commands模块专门用于调用Linux shell命令,并返回状态和结果,下面是commands模块的3个主要函数:1.commands.getoutput('shell command')2.commands.getstat原创 2014-11-29 00:09:00 · 5585 阅读 · 0 评论 -
python第三方库系列之七--logging库
跑程序犹如走人生,有些重要的事需要记录下来,有些则原创 2014-11-24 23:26:36 · 1285 阅读 · 0 评论 -
python第三方库系列之八--uuid库
你就是我的唯一!在程序中也需要这样一个唯一的标识,UUID就诞生了。一、 概述UUID是128位的全局唯一标识符,通常由32字节的字符串表示。它可以保证时间和空间的唯一性,也称为GUID,全称为: UUID —— Universally Unique IDentifier Python 中叫 UUID GUID —— Globally Unique IDe原创 2014-11-25 22:54:39 · 735 阅读 · 0 评论 -
python第三方库系列之十一--django.db的connection库
'Cursor' object has no attribute '_last_executed'原创 2014-12-04 11:21:14 · 9998 阅读 · 1 评论 -
python第三方库系列之六--traceback库
traceback模块被用来跟踪异常返回信息. 如下例所示:原创 2014-11-23 01:33:47 · 9102 阅读 · 1 评论 -
python第三方库系列之十三--定时任务apscheduler库
APScheduler是基于Quartz的一个Python定时任务框架,实现了Quartz的所有功能,使用起来十分方便。提供了基于日期、固定时间间隔以及crontab类型的任务,并且可以持久化任务。基于这些功能,我们可以很方便的实现一个python定时任务系统,写python还是要比java舒服多了。1. cron job例子APScheduler是进程内的调度器,可以定时触发具体的函数,原创 2015-01-29 11:35:39 · 4193 阅读 · 0 评论