一、操作系统中相关进程的知识Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊。普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后,分别在父进程和子进程内返回。子进程永远返回0,而父进程返回子进程的ID。这样做的理由是,一个父进程可以fork出很多子进程,所以,父进程要记下每个子进程的ID,而子进程只需要调用getppid()就可以拿到父进程的I
系统 2019-09-27 17:50:08 1789
一、ConfigParser简介ConfigParser是用来读取配置文件的包。配置文件的格式如下:中括号“[]”内包含的为section。section下面为类似于key-value的配置内容。复制代码代码如下:[db]db_host=127.0.0.1db_port=22db_user=rootdb_pass=rootroot[concurrent]thread=10processor=20中括号“[]”内包含的为section。紧接着section为
系统 2019-09-27 17:50:05 1789
[TOC]一、队列queue队列:使用importqueue,用法与进程Queue一样实际上这里就是Python解释器中的一种数据结构中的类型——队列这里直接使用队列也可以。如果还要类似计数器的功能可以加上task_done和joinFIFO先进先出LIFO后进先出优先级队列二、先进先出(FIFO)classqueue.Queue(maxsize=0)###普通队列q=queue.Queue()###没有计数器进行阻塞FIFOq.put("first")q
系统 2019-09-27 17:49:51 1789
python的新式类是2.2版本引进来的,我们可以将之前的类叫做经典类或者旧式类。为什么要在2.2中引进newstyleclass呢?官方给的解释是:为了统一类(class)和类型(type)。在2.2之前,比如2.1版本中,类和类型是不同的,如a是ClassA的一个实例,那么a.__class__返回‘class__main__.ClassA‘,type(a)返回总是。而引入新类后,比如ClassB是个新类,b是ClassB的实例,b.__class__
系统 2019-09-27 17:49:33 1789
先序遍历1、BinaryTreePreorderTraversal---leetcode144#coding:utf-8classSolution:#根左右defpreorderTraversal(self,root):ifnotroot:return[]return[root.val]+self.preorderTraversal(root.left)+self.preorderTraversal(root.right)#给定二叉树的前序遍历和中序遍历,
系统 2019-09-27 17:49:30 1789
一、往文件中写入数据往TXT文件写入的时候报错'gbk'codeccan'tencodecharacter'\xXX'inpositionXX打开文件时,增加一个选项:defwirteFile(content):path=os.getcwd()a_path=os.path.join(path,"content.txt")f=open(a_path,"w+",encoding="utf-8")f.write(content)f.close()open()中添
系统 2019-09-27 17:49:29 1789
理解一个算法最快,最深刻的做法,我觉着可能是自己手动实现,虽然项目中不用自己实现,有已经封装好的算法库,供我们调用,我觉着还是有必要自己亲自实践一下。这里首先说明一下,python这种动态语言,对不熟悉的人可能看着比较别扭,不像java那样参数类型是固定的,所以看着会有些蛋疼。这里环境用的是python2.7。classMessage:#commandMSG_ACCEPTOR_AGREE=0#追随者约定MSG_ACCEPTOR_ACCEPT=1#追随者接受
系统 2019-09-27 17:49:27 1789
一.lamda匿名函数为了解决一些简单的需求而设计的一句话函数#计算n的n次方deffunc(n):returnn**nprint(func(10))f=lambdan:n**nprint(f(10))lambda表示的是匿名函数.不需要用def来声明,一句话就可以声明出一个函数语法:函数名=lambda参数:返回值注意:1.函数的参数可以有多个.多个参数之间用逗号隔开2.匿名函数不管多复杂.只能写一行,且逻辑结束后直接返回数据3.返回值和正常的函数一样,
系统 2019-09-27 17:49:16 1789
#同时修改好几个word文档,转换特定的内容importreimportdocxdoc1=docx.Document('example.docx')spam=['后勤','技术','行政']forjinspam:doc2=docx.Document()foriinrange(0,len(doc1.paragraphs)):c=re.sub('销售',j,doc1.paragraphs[i].text)#第一个参数表示匹配的项,第二个参数表示要替换成的内容,
系统 2019-09-27 17:49:15 1789
简单的说,GUI编程就是给程序加上图形化界面.python的脚本开发简单,有时候只需几行代码就能实现丰富的功能,而且python本身是跨平台的,所以深受程序员的喜爱.如果给程序加一个图形化界面,那么普通的用户也就能用上python的脚本,极大提升工作效率,所以给python程序加上图形化界面,把自己写的脚本,提供给普通用户,的确是一件激动人心的事!如何给python脚本加图形化界面?作者首先考虑了通过浏览器运行python的图形化界面,为了理想的效果,py
系统 2019-09-27 17:48:53 1789