Python

Python多线程编程(六):可重入锁RLock

考虑这种情况:如果一个线程遇到锁嵌套的情况该怎么办,这个嵌套是指当我一个线程在获取临界资源时,又需要再次获取。根据这种情况,代码如下:复制代码代码如下:'''Createdon2012-9-8@author:walfred@module:thread.ThreadTest6'''importthreadingimporttimecounter=0mutex=threading.Lock()classMyThread(threading.Thread):de

系统 2019-09-27 17:50:55 2208

Python

python 常用模块之——pymysql

pymysqldemo代码样例,暂时先写查询的,增删改后续再添加;通用部分无论是增删改查,都需要先建立数据库连接,创建游标importpymysql#建立一个mysql的conn,返回Connetion对象conn=pymysql.connect(host='localhost',user='root',passwd='p@ssWD',port='3306',db='test')#新建一个游标,默认返还元组,可选DictCursor让查询结果返还dict#

系统 2019-09-27 17:50:47 2208

Python

python for和else语句趣谈

老婆给当程序员的老公打电话:“下班顺路买一斤包子带回来,如果看到卖西瓜的,买一个。”当晚,程序员老公手捧一个包子进了家门……老婆怒道:“你怎么就买了一个包子?”老公答曰:“因为看到了卖西瓜的。”程序员买西瓜的笑话可能大部分读者都知道,今天写的这篇文章和这个笑话有一定的关系。任何编程语言都提供了if...else...语句,表示如果(if)满足条件就做某件事,否则(else)就做另外一件事:ifa==b:print("true")else:print("fa

系统 2019-09-27 17:50:46 2208

Python

python全栈开发基础知识学习——Django框架(六、Admin操作)

目录一、Admin的配置1.激活管理工具2.使用管理工具3.注册超级用户4.修改语言二、管理数据模型1.注册medel类到admin2.自定制类一、Admin的配置Admin是Django的一个强大的功能,它能从数据库中读取数据,并呈现在页面中,进行管理。默认情况下,它的功能已经非常强大,如果你不需要复杂的功能,它已经够用,但是有时候,一些特殊的功能还需要定制,比如搜索功能,下面这一系列文章就逐步深入介绍如何定制适合自己的admin应用。1.激活管理工具通

系统 2019-09-27 17:49:37 2208

Python

使用Python中的greenlet包实现并发编程的入门教程

1动机greenlet包是Stackless的副产品,其将微线程称为“tasklet”。tasklet运行在伪并发中,使用channel进行同步数据交换。一个”greenlet”,是一个更加原始的微线程的概念,但是没有调度,或者叫做协程。这在你需要控制你的代码时很有用。你可以自己构造微线程的调度器;也可以使用”greenlet”实现高级的控制流。例如可以重新创建构造器;不同于Python的构造器,我们的构造器可以嵌套的调用函数,而被嵌套的函数也可以yiel

系统 2019-09-27 17:49:28 2208

Python

python存入csv

如题,后续继续优化importcsv#构建表头headers=["id","user_name","age","country"]#内容列表rows=[("001","dana",18,"china"),("002","tom",22,"arimecan"),("003","jack",45,"hk")]#新建csv文档,默认是自动换行的,所以要newline=""withopen("csv01.csv","w",newline='')asf:f_csv=

系统 2019-09-27 17:49:07 2208

Python

Python程序设计入门(3)数组的使用

1、Python的数组可分为三种类型:(1)list普通的链表,初始化后可以通过特定方法动态增加元素。定义方式:arr=[元素](2)Tuple固定的数组,一旦定义后,其元素个数是不能再改变的。定义方式:arr=(元素)(2)Dictionary词典类型,即是Hash数组。定义方式:arr={元素k:v}2、下面具体说明这些数组的使用方法和技巧:(1)list链表数组a、定义时初始化复制代码代码如下:a=[1,2,[1,2,3]]b、定义时不初始化一维数组

系统 2019-09-27 17:48:23 2208

Python

python数据结构和GIL及多进程

一数据结构和GIL1queue标准库queue模块,提供FIFO的queue、LIFO的队列,优先队列Queue类是线程安全的,适用于多线程间安全的交换数据,内部使用了Lock和Condition为什么说容器的大小不准确,其原因是如果不加锁,是不可能获取到准确的大小的,因为你刚读取了一个大小,还没取走,有可能被就被其他线程修改了,queue类的size虽然加了锁,但是依然不能保证立即get,put就能成功,因为读取大小和get,put方法是分来的。2GIL

系统 2019-09-27 17:48:10 2208

Python

Python3.0与2.X版本的区别实例分析

本文通过列举出一些常见的实例来分析Python3.0与2.X版本的区别,是作者经验的总结,对于Python程序设计人员来说有不错的参考价值。具体如下:做为一个前端开发的码农,最近通过阅读最新版的《AbyteofPython》并与老版本的《AbyteofPython》做对比后,发现Python3.0在某些地方还是有些改变的。之后再查阅官方网站的文档,总结出一下区别:1.如果你下载的是最新版的Python,就会发现所有书中的HelloWorld例子将不再正确。

系统 2019-09-27 17:46:01 2208

Python

Python2中的raw_input() 与 input()

这两个均是python的内建函数,通过读取控制台的输入与用户实现交互。但他们的功能不尽相同。举两个小例子。>>>raw_input_A=raw_input("raw_input:")raw_input:abc>>>input_A=input("Input:")Input:abcTraceback(mostrecentcalllast):File"",line1,ininput_A=input("Input:")File"",line1,inNameErro

系统 2019-09-27 17:45:44 2208

Python

跟老齐学Python之Python安装

任何高级语言都是需要一个自己的编程环境的,这就好比写字一样,需要有纸和笔,在计算机上写东西,也需要有文字处理软件,比如各种名称的OFFICE。笔和纸以及office软件,就是写东西的硬件或软件,总之,那些文字只能写在那个上边,才能最后成为一篇文章。那么编程也是,要有个什么程序之类的东西,要把程序写到那个上面,才能形成最后类似文章那样的东西。刚才又有了一个术语――“程序”,什么是程序?本文就不讲了。如果列为观众不是很理解这个词语,请上网google一下。注:

系统 2019-09-27 17:45:26 2208

Python

Python里隐藏的“禅”

在python的lib目录里有一个:this.py,它其实是隐藏着一首诗,源码如下:复制代码代码如下:s="""GurMrabsClguba,olGvzCrgrefOrnhgvshyvforggregunahtyl.Rkcyvpvgvforggregunavzcyvpvg.Fvzcyrvforggregunapbzcyrk.Pbzcyrkvforggregunapbzcyvpngrq.Syngvforggregunaarfgrq.Fcnefrvforggr

系统 2019-09-27 17:38:46 2208

Python

python简单实现获取当前时间

说起计算机中的时间,还有一些比较有意思的事,比如我们经常听到的Unix时间戳,UTC时间,格林威治时间等,从表示上来讲他们基本属于同一个东西,因为他们的时间表示都是从1970年.1月.1日开始到现在的秒数,到这有人就有问题了,为毛是从这个时间点开始的呢?因为这天呀发生了一件大事,UNIX操作系统诞生了,这UNIX诞生可有来历,他是一个歪果仁利用老婆孩子外出度假的时间来完成的,我假设大家了解操作系统的复杂性,那么我们预估他老婆要外出几年才能完成UNIX系统的

系统 2019-09-27 17:38:39 2208

Python

Python中暂存上传图片的方法

很简单的代码,记录一下。复制代码代码如下:importImageimage=Image.open('a.jpg')importcStringIObuf=cStringIO.StringIO()image.save(buf,image.format,quality=75)data=buf.getvalue()a=u.writeFile('/this/logo.jpg',data,True)应用在使用django,用户上传图片后,将图片转存到别的服务器。但是转

系统 2019-09-27 17:37:43 2208

编程技术

Jexi设计 (5) 页面样式

仿照MicrosoftWord,PageStyle的基本属性:floatwidth;//总宽度floatheight;//总高度floatleftMargin;//左边距floatrightMargin;//右边距floattopMargin;//上边距floatbottomMargin;//下边距floatbindingMargin;//装订线宽度intbindingPosition;//装订位置设计页面样式如下:Page的有效显示区域为scaleWid

系统 2019-08-29 23:32:12 2208