元数据是用来描述数据的数据(Datathatdescribesotherdata)。单单这样说,不太好理解,我来举个例子。下面是契诃夫的小说《套中人》中的一段,描写一个叫做瓦莲卡的女子:(她)年纪已经不轻,三十岁上下,个子高挑,身材匀称,黑黑的眉毛,红红的脸蛋--一句话,不是姑娘,而是果冻,她那样活跃,吵吵嚷嚷,不停地哼着小俄罗斯的抒情歌曲,高声大笑,动不动就发出一连串响亮的笑声:哈,哈,哈!这段话里提供了这样几个信息:年龄(三十岁上下)、身高(个子高挑)
系统 2019-08-12 01:32:27 2166
最近在用python写接口的测试程序,期间用到解析字典获取某个key的value,由于多个接口返回的字典格式不是固定的并存在多层嵌套的情况。在字典的方法中也没有找到可直接达到目的的方法(也可能是我对字典的方法了解的不深的缘故),于是自己写了个程序。下面是代码#coding:utf-8importtypes#获取字典中的objkey对应的值,适用于字典嵌套#dict:字典#objkey:目标key#default:找不到时返回的默认值defdict_get(
系统 2019-09-27 17:55:32 2165
枚举是常用的功能,看看Python的枚举.fromenumimportEnumMonth=Enum('Month',('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'))枚举的定义首先,定义枚举要导入enum模块。枚举定义用class关键字,继承Enum类。注意:定义枚举时,成员名称不允许重复默认情况下,不同的成员值允许相同。但是两个相同值的成员,第二个成员的名称
系统 2019-09-27 17:55:15 2165
如下所示:#文件内容lisilock=open("lock_info.txt","r+",encoding="utf-8")lock_line=lock.readline()lock_list=lock_line.split(",")print(lock_list)y=lock_line.encode('utf-8').decode('utf-8-sig')print(y)#打印结果如下['\ufefflisi']lisi以上这篇python字符串转列表l
系统 2019-09-27 17:55:03 2165
本文原创并首发于公众号【Python猫】,未经授权,请勿转载。原文地址:https://mp.weixin.qq.com/s/-f...Python是一门强大的动态语言,那动态体现在哪里,强大又体现在哪里呢?除了好的方面,Python的动态性是否还藏着一些使用陷阱呢,有没有办法识别与避免呢?沿着它的动态特性话题,猫哥有几篇文章依次探及了:动态修改变量、动态定义函数、动态执行代码等内容,然而,当混合了变量赋值、动态赋值、命名空间、作用域、函数的编译原理等等内
系统 2019-09-27 17:55:00 2165
使用Tkinter(py2.7)text文本框中输入内容在界面中显示�C较为规整的代码:importTkinterastkclassWindow:def__init__(self,handle):self.win=handleself.createwindow()self.run()defcreatewindow(self):self.win.geometry('400x400')#label1self.label_text=tk.StringVar()s
系统 2019-09-27 17:54:01 2165
OCR与Tesseract介绍将图片翻译成文字一般被称为光学文字识别(OpticalCharacterRecognition,OCR)。可以实现OCR的底层库并不多,目前很多库都是使用共同的几个底层OCR库,或者是在上面进行定制。Tesseract是一个OCR库,目前由Google赞助(Google也是一家以OCR和机器学习技术闻名于世的公司)。Tesseract是目前公认最优秀、最精确的开源OCR系统。除了极高的精确度,Tesseract也具有很高的灵活
系统 2019-09-27 17:53:50 2165
非阻塞IO(non-blockingIO)Linux下,可以通过设置socket使其变为non-blocking。当对一个non-blockingsocket执行读操作时,流程是这个样子:从图中可以看出,当用户进程发出read操作时,如果kernel中的数据还没有准备好,那么它并不会block用户进程,而是立刻返回一个error。从用户进程角度讲,它发起一个read操作后,并不需要等待,而是马上就得到了一个结果。用户进程判断结果是一个error时,它就知道
系统 2019-09-27 17:53:07 2165
将做工程过程中重要的一些代码段收藏起来,下面代码段是关于python检测RabbitMQ的状态是否正常的代码。importsocketdefcheck_aliveness(ip,port):sk=socket.socket(socket.AF_INET,socket.SOCK_STREAM)sk.settimeout(1)try:sk.connect((ip,port))print'serviceisOK!'returnTrueexceptExceptio
系统 2019-09-27 17:52:41 2165
在上一篇文章中,我们讲了如何在linux上用python写一个守护进程。主要原理是利用linux的fork函数来创建一个进程,然后退出父进程运行,生成的子进程就会成为一个守护进程。细心观察的可能会发现,这个守护进程的运行身份是执行这个程序的用户,如果把这个守护程序加入到系统的服务项,那么这个守护程序的执行身份应该是root。一个情况出现了,root的权限比较大,如果通过这个root身份的守护程序来进行操作,危险性是比较大的。一种好的办法是生成一个身份为ro
系统 2019-09-27 17:52:32 2165