python的osmodule中有fork()函数用于生成子进程,生成的子进程是父进程的镜像,但是它们有各自的地址空间,子进程复制一份父进程内存给自己,两个进程之间的执行是相互独立的,其执行顺序可以是不确定的、随机的、不可预测的,这点与多线程的执行顺序相似。importosdefchild():print'Anewchild:',os.getpid()print'Parentidis:',os.getppid()os._exit(0)defparent()
系统 2019-09-27 17:48:24 1942
操作类题目Python交换两个变量的值答:在Python中交换两个对象的值通过下面的方式即可a,b=b,a但是需要强调的是这并不是元组解包,通过dis模块可以发现,这是交换操作的字节码是ROT_TWO,意思是在栈的顶端做两个值的互换操作。在读文件操作的时候会使用read、readline或者readlines,简述它们各自的作用答:read()每次读取整个文件,它通常用于将文件内容放到一个字符串变量中。如果希望一行一行的输出那么就可以使用readline(
系统 2019-09-27 17:48:20 1942
Step1:安装python和sublimeStep2:给sublime安装packagecontrol,安装参见:官网Step3:配置安装路径方式一:配置windows的Path好处就是cmd的时候也可以运行,视为系统,用户级别的配置;方式二:配置sublime的python的sublime_build点击:Preference->BrowsePackages->在python目录下,编辑Python.sublime-build文件,添加python应用
系统 2019-09-27 17:48:17 1942
python解释器运行代码的流程启动python解释器(相当于文本编辑器)打开文件,显示这个字符并检查语法(涉及字符编码,a=1只是一个很普通的字符)解释字符(涉及字符编码,再去内存空间生成一个a=1的变量)python2用的是ascii,python3默认是utf8读取字符#coding:gbk会告诉python3解释器用gbk编码读取字符python3(了解)你看到的其实是unicode但是终端帮你把这个unicode的0和1做一个转换,从unicod
系统 2019-09-27 17:48:12 1942
rpclib是一个非常好用的pythonwebservice库,可以动态的生成wsdl,不过这个项目已经基本停止,并被一个新的项目取代spyne,由于旧的项目工作已经比较稳定,所以我没有贸然升级到spyne。我在rpclib编写service方法时,遇到一个奇怪的错误:访问wsdl(http://localhost:9898/?wsdl)页面,返回502BadGateway。在日志中看到如下错误信息:复制代码代码如下:ValueError:Allstrin
系统 2019-09-27 17:48:07 1942
1.服务端主程序:#encoding:utf-8importthreadingfromprocedure.socket_serverimportThreadingHttpServer,MainHandlerfromprocedure.processimportmq_respond_procedurefromloggerimportlog,logwffromconfimport(HOST,PORT,MQ_A_RECV_1,MQ_A_RECV_2,MQ_A_R
系统 2019-09-27 17:47:49 1942
下面程序能够爬取百度图片一个网页里面的所以图片,值得关注的是匹配字段,正则表达式要写正确,虽然匹配成功的但是爬取的图片还是较少,下篇我会采取get方法来请求更多图片来爬取。importurllib.requestimportreimporttimedefopen_url(url):req=urllib.request.Request(url)req.add_header('User-Agent','Mozilla/5.0(WindowsNT6.1;WOW6
系统 2019-09-27 17:47:28 1942
某些时候我们需要让类动态的添加属性或方法,比如我们在做插件时就可以采用这种方法。用一个配置文件指定需要加载的模块,可以根据业务扩展任意加入需要的模块。本文就此简述了Python实现动态添加类的属性或成员函数的解决方法,具体方法如下:首先我们可以参考ulipad的实现:mixin。这里做的比较简单,只是声明一个类,类初始化的时候读取配置文件,根据配置列表加载特定目录下的模块下的函数,函数和模块同名,将此函数动态加载为类的成员函数。代码如下所示:classWi
系统 2019-09-27 17:47:25 1942
使用装python饰器做缓存装饰器在之前的文章中有讲过,这里主要是说了装饰器的用法和应该怎么理解。这片文章给出一片补充:主要说在缓存方面的应用。在此之前呢,需要补充一些知识点:就是python查找变量的顺序是什么?答案就是LEGB原则:也就是`Local->Enclosed->Global->Built-in`也就是先在局部作用域内(例如函数内)进行查找,然后在[闭包]1内查找,接下来分别是全局作用域和内置的保留名称注意:闭包内的变量,不能改变,但是对于列
系统 2019-09-27 17:47:18 1942
函数的嵌套defone():print("第一个函数")deftwo():one()print("第二个函数")two()递归函数,就是函数内嵌套函数自身,下面是阶乘的递归方法defone(a):ifa==1:return1else:returnone(a-1)*aone(5)匿名函数:https://blog.csdn.net/GrofChen/article/details/93018250全局变量:https://blog.csdn.net/Grof
系统 2019-09-27 17:47:12 1942