本文介绍了Python对于线程的支持,包括“学会”多线程编程需要掌握的基础以及Python两个线程标准库的完整介绍及使用示例。注意:本文基于Python2.4完成,;如果看到不明白的词汇请记得百度谷歌或维基,whatever。1.线程基础1.1.线程状态线程有5种状态,状态转换的过程如下图所示:1.2.线程同步(锁)多线程的优势在于可以同时运行多个任务(至少感觉起来是这样)。但是当线程需要共享数据时,可能存在数据不同步的问题。考虑这样一种情况:一个列表里所
系统 2019-09-27 17:38:03 2199
目录第十五章、python中的进程操作-开启多进程一、multprocess模块二、multprocess.process模块三、Process()对象方法介绍四、Process()对象属性介绍五、使用process模块创建进程六、进程之间的数据隔离问题七、守护进程八、terminate方法九、pid和name属性第十五章、python中的进程操作-开启多进程一、multprocess模块multiprocess不是一个模块而是python中一个操作、管理
系统 2019-09-27 17:56:35 2198
Python入门之内置模块--sys模块1、sys模块sys模块是与python解释器交互的一个接口print(sys.path)#模块查找的顺序print(sys.argv)#命令行参数List,第一个元素是程序本身路径只能在终端执行print(sys.modules)#查看加载到内存的模块print(sys.platform)#查看当前操作系统平台mac-darwinwin-win32print(sys.version)#查看当前解释器的版本sys.e
系统 2019-09-27 17:56:06 2198
python动态语言在运行时可以改变类的结构,添加属性,添加方法删除函数添加属性:就是在类的结构以外添加属性也可以修改1.添加对象属性(1)p1.age="123"#使用对象名创建(2)setattr(p1,"home","阳光小区")#使用内置方法设置和取得属性值getattr(p1,"home")#取得新增属性的值2.添加类属性(1)Preson.ID=111112#使用类名创建添加方法:3.添加对象方法importtypesdefstudy(self
系统 2019-09-27 17:55:39 2198
课程导学001课程定位和目标002课程导学第一部分Python快速入门第1天Python基本语法元素003Python基本语法元素004程序设计基本方法005Python开发环境配置006实例1-温度转换007Python程序语法元素分析008Python基本语法元素小结第2天Python基本图形绘制009Python基本图形绘制010深入理解Python语言011实例2-Python蟒蛇绘制012模块1-turtle库的使用013turtle程序语法元素
系统 2019-09-27 17:55:32 2198
这几天和几个朋友以各种途径讨论过OOP的相关问题,他们是:令狐虫、Frank、晋剑、小冯大家对OOP有不同看法,所谓工程派和学院派看法不一致。从应用的角度看,工程派的观点是值得推荐的,那就是:不用太在意内部是怎么工作的,只要能够解决眼下的问题即可。但是,对于学习者而言,如果仅仅停留在工程派的层面(特别提醒,上述几位朋友都是工程派的大侠,他们可不是简单地能够使用,其实是更高层次的“无招胜有招”),学习者可能感觉有点不透彻。所以,学习者,特别是初学者,要知道一
系统 2019-09-27 17:55:20 2198
importhashlibclassMd5_enc():def__init__(self,key="cxj"):self.key=keyself.maker=hashlib.md5()defmd5_str(self,message):self.maker.update(bytes(self.key,encoding="utf-8"))self.maker.update(bytes(message,encoding="utf-8"))rel=self.mak
系统 2019-09-27 17:55:15 2198
问题1:如果日期中有千年以前的情况(没法用格式化函数),如('2010-11-23','1989-3-7','2010-1-5','978-12-1','2010-2-4')参照方法1问题2:如果日期中没有千年以前的情况,做法就很多了。参照方法2和方法3#-*-coding:utf-8-*-importtimefromoperatorimportitemgetterarr=('2010-11-23','1989-3-7','2010-1-5','978-1
系统 2019-09-27 17:54:50 2198
在处理数据和进行机器学习的时候,遇到了大量需要处理的时间序列。比如说:数据库读取的str和time的转化,还有time的差值计算。总结一下python的时间处理方面的内容。一、字符串和时间序列的转化time.strptime():字符串=>时间序列time.strftime():时间序列=>字符串importtimestart="2017-01-01"end="2017-8-12"startTime=time.strptime(start,"%Y-%m-%
系统 2019-09-27 17:54:04 2198
Windows•安装lxml最好的安装方式是通过wheel文件来安装,http://www.lfd.uci.edu/~gohlke/pythonlibs/,从该网站找到lxml的相关文件。假如是Python3.5版本,WIndows64位系统,那就找到lxml‑3.7.2‑cp35‑cp35m‑win_amd64.whl这个文件并下载,然后通过pip安装。下载之后,运行如下命令安装:pip3installwheelpip3installlxml‑3.7.2
系统 2019-09-27 17:53:34 2198
一.如何调用deff1(arg1,arg2):print('f1',arg1,arg2)deff2(arg1):print('f2',arg1)deff3():print('f3')deff4():print('周期任务',int(time.time()))timer=TaskTimer()#把任务加入任务队列timer.join_task(f1,[1,2],timing=15.5)#每天15:30执行timer.join_task(f2,[3],timi
系统 2019-09-27 17:53:12 2198
defsend_mail(to_mail,subject,data,filename=None):smtp_server='smtp.exmail.qq.com'from_mail=""mail_pass=""msg=MIMEMultipart()msg["From"]=from_mailmsg["To"]=','.join(to_mail)msg["Subject"]=Header(subject,'utf-8').encode()#构造htmld=da
系统 2019-09-27 17:53:10 2198
Pandas类似R语言中的数据框(DataFrame),Pandas基于Numpy,但是对于数据框结构的处理比Numpy要来的容易。1.Pandas的基本数据结构和使用Pandas有两个主要的数据结构:Series和DataFrame。Series类似Numpy中的一维数组,DataFrame则是使用较多的多维表格数据结构。Series的创建>>>importnumpyasnp>>>importpandasaspd>>>s=pd.Series([1,2,3
系统 2019-09-27 17:50:11 2198
1.遍历一个文件夹apks='C:\\xxx'filenames=os.listdir(apks)forfilenameinfilesnames:#此处遍历出来的非完整路径,只是文件名字do_something(apks+"\\"+filename)#绝对路径需要拼接处理2.判断一个文件或文件夹是否存在importosos.path.exists(test_file.txt)3.string转dict,dict转string#string转dict,使用e
系统 2019-09-27 17:48:45 2198
一、简介我们将一个正在运行的程序称为进程。每个进程都有它自己的系统状态,包含内存状态、打开文件列表、追踪指令执行情况的程序指针以及一个保存局部变量的调用栈。通常情况下,一个进程依照一个单序列控制流顺序执行,这个控制流被称为该进程的主线程。在任何给定的时刻,一个程序只做一件事情。一个程序可以通过Python库函数中的os或subprocess模块创建新进程(例如os.fork()或是subprocess.Popen())。然而,这些被称为子进程的进程却是独立
系统 2019-09-27 17:47:46 2198