kafka的认证方式一般有如下3种:1.SASL/GSSAPI从版本0.9.0.0开始支持2.SASL/PLAIN从版本0.10.0.0开始支持3.SASL/SCRAM-SHA-256以及SASL/SCRAM-SHA-512从版本0.10.2.0开始支持其中第一种SASL/GSSAPI的认证就是kerberos认证,对于java来说有原生的支持,但是对于python来说配置稍微麻烦一些,下面说一下具体的配置过程,confluentkafka模块底层依赖于librdkafka,这是使用c编写的高性能的kafka客户端库,有好多语言的库都是依...
继续阅读 >
分类:Python
kafka的认证方式一般有如下3种:1.SASL/GSSAPI从版本0.9.0.0开始支持2.SASL/PLAIN从版本0.10.0.0开始支持3.SASL/SCRAM-SHA-256以及SASL/SCRAM-SHA-512从版本0.10.2.0开始支持其中第一种SASL/GSSAPI的认证就是kerberos认证,对于java来说有原生的支持,但是对于python来说配置稍微麻烦一些,下面说一下具体的配置过程,confluentkafka模块底层依赖于librdkafka,这是使用c编写的高性能的kafka客户端库,有好多语言的库都是依...
继续阅读 >
上一篇我们写了怎么将xmind转换成想要的excel格式,这篇再讲一下用Python自带的tkinter库设计一个简单的gui界面,让我们的xmind路径,用例版本执行等都通过这个gui界面来输入,生成我们需要的excel文件。Python要生成gui,库还是比较多的比如wxpython,这个我看了下,感觉比较难懂,毕竟只是设计一个比较简单的gui界面,所以就使用了tkinter库,感觉这个还是比较方便易懂的,大家可以在这里学习tkinter库http://c.biancheng.net/py...
继续阅读 >
2020
10-13
10-13
使用Python将xmind脑图转成excel用例的实现代码(一)
最近接到一个领导需求,将xmind脑图直接转成可以导入的excel用例,并且转换成gui可执行的exe文件,方便他人使用。因为对Python比较熟悉,所以就想使用Python3来实现这个功能,先理一下思路,首先要将xmind转换成Python可用的数据格式,正好找到了一个xmindparser库可以做这个事情,然后就好办了,用xlwt库写成xls文件,再用Python自带的gui库tkinter来写gui界面,最后用pyinstaller来打包。计划分两个py文件来写,一个文件写exce...
继续阅读 >
2020
10-13
10-13
使用python把xmind转换成excel测试用例的实现代码
前言因为写好了测试xmind脑图后,然后再编写测试用例,实在是太麻烦了,所以我写了一点测试用例后,就网上百度了下,怎么直接把xmind脑图转换成excel测试用例,纯个人学习笔记本文参考:https://www.jb51.net/article/197246.htmhttps://www.jb51.net/article/197249.htm提示:以下是本篇文章正文内容,下面可供参考一、确定好自己的xmind的用例格式因为xmind的格式关系到编写代码的逻辑关系,所以需要先确定好自己的xmind的格式,...
继续阅读 >
2020
10-13
10-13
Python Sqlalchemy如何实现select for update
sqlalchemy对于行级锁有两种实现方式,with_lockmode(self,mode):和with_for_update(self,read=False,nowait=False,of=None),前者在sqlalchemy0.9.0被废弃,用后者代替。所以我们使用with_for_update!看下函数的定义:@_generative()defwith_for_update(self,read=False,nowait=False,of=None):"""returnanew:class:`.Query`withthespecifiedoptionsforthe``FORUPDATE``clause.Thebehav...
继续阅读 >
2020
10-13
10-13
如何实现一个python函数装饰器(Decorator)
装饰器本质上是一个Python函数或类,它可以让其他函数或类在不需要做任何代码修改的前提下增加额外功能,装饰器的返回值也是一个函数/类对象。它经常用于为已有函数/类添加记录日志、计时统计、性能测试等。首先定义一个倒计时函数,这个函数的功能非常简单,就是把n从当前值减少到0。defcountdown(n):whilen>0:print('time'+str(n))n-=1print(countdown.__name__)程序输出:countdown1.为函数增加一个日志装饰器假...
继续阅读 >
2020
10-13
10-13
Vs Code中8个好用的python 扩展插件
1.PythonextensionforVisualStudioCode这个扩展是由微软官方提供的,支持但不仅限于以下功能:通过Pylint或Flake8支持代码检查在VSCode编辑器中调试代码IntelliSense支持自动完成,代码导航和格式化。支持JupyterNotebook,Pytest和Unittest在编辑器中轻松切换Python环境2.PythonPreview这个插件很牛皮,能够实时可视化你的代码结果。不仅如此,还能为VSCode切换各种主题皮肤。3.Sortlines这个扩展很有意思,...
继续阅读 >
2020
10-10
10-10
python调用有道智云API实现文件批量翻译
最近工作过程中,需要对一批文件进行汉译英的翻译,对单个文档手工复制、粘贴的翻译方式过于繁琐,考虑到工作的重复性和本人追求提高效率、少动手(懒),想通过调用已有的接口的方法,自己实现一个批量翻译工具,一劳永逸。在网上找了几款翻译API,通过对比翻译的结果和学习成本,选择了有道智云的服务,自己开发了一个批量翻译的小软件。详细记录一下使用和开发过程,后面的小伙伴们有相关需求,可以参考。批量文档翻译工具的使...
继续阅读 >
2020
10-10
10-10
python线程池 ThreadPoolExecutor 的用法示例
前言从Python3.2开始,标准库为我们提供了concurrent.futures模块,它提供了ThreadPoolExecutor(线程池)和ProcessPoolExecutor(进程池)两个类。相比threading等模块,该模块通过submit返回的是一个future对象,它是一个未来可期的对象,通过它可以获悉线程的状态主线程(或进程)中可以获取某一个线程(进程)执行的状态或者某一个任务执行的状态及返回值:主线程可以获取某一个线程(或者任务的)的状态,以及返回值。当一...
继续阅读 >
2020
10-10
10-10
python开发一款翻译工具
最近,某水果手机厂在万众期待中开了一场没有发布万众期待的手机产品的发布会,发布了除手机外的其他一些产品,也包括最新的水果14系统。几天后,更新了系统的吃瓜群众经过把玩突然发现新系统里一个超有意思的功能——翻译,比如这种:奇怪的翻译知识增加了!相比常见的翻译工具,同声翻译工具更具有实用价值,想想不精通其他语言就能和歪果朋友无障碍交流的场景,真是一件美事,不如自己动手实现个工具备用!一个同声翻译工具,逻...
继续阅读 >
2020
10-10
10-10
Python pickle模块常用方法代码实例
用于序列化的两个模块json:用于字符串和Python数据类型间进行转换pickle:用于python特有的类型和python的数据类型间进行转换json提供四个功能:dumps,dump,loads,loadpickle提供四个功能:dumps,dump,loads,loadpickle可以存储什么类型的数据呢?所有python支持的原生类型:布尔值,整数,浮点数,复数,字符串,字节,None。由任何原生类型组成的列表,元组,字典和集合。函数,类,类的实例pi...
继续阅读 >
2020
10-10
10-10
Python random模块的使用示例
常用的random模块方法importrandom#random.random()用于生成一个0到1的随机浮点数:0<=n<1.0print(random.random())#0.18246795790915304#random.randint(a,b),用于生成一个指定范围内的整数。#其中参数a是下限,参数b是上限,生成的随机数n:a<=n<=bprint(random.randint(1,10))#8#random.randrange([start],stop[,step]),#从指定范围内,按指定基数递增的集合中获取一个随机数#如:random.rand...
继续阅读 >
2020
10-10
10-10
python 装饰器的使用示例
无参修饰,无参数时不需要调用deflog1(func):func()@log1deftest():print('test:')有参修饰deflog2(func):definner(*args,**kwargs):func(*args,**kwargs)returninner@log2deftest(num):print('testlog2:',num,test.__name__)test(20)#相当于log(test(20))@wraps可以保证装饰器修饰的函数的name的值保持不变不带参数的装饰器deflog3(func):@wraps(func)definner(*args,**kwargs,):func(*args,*...
继续阅读 >
2020
10-10
10-10
python使用bs4爬取boss直聘静态页面
思路:1、将需要查询城市列表,通过城市接口转换成相应的code码2、遍历城市、职位生成url3、通过url获取列表页面信息,遍历列表页面信息4、再根据列表页面信息的job_link获取详情页面信息,将需要的信息以字典data的形式存在列表datas里5、判断列表页面是否有下一页,重复步骤3、4;同时将列表datas一直传递下去6、一个城市、职位url爬取完后,将列表datas接在列表datas_list后面,重复3、4、57、...
继续阅读 >
2020
10-10
10-10
通过案例解析python鸭子类型相关原理
首先Python不支持多态,也不用支持多态,python是一种多态语言,崇尚鸭子类型。在程序设计中,鸭子类型(英语:ducktyping)是动态类型的一种风格。在这种风格中,一个对象有效的语义,不是由继承自特定的类或实现特定的接口,而是由当前方法和属性的集合决定。这个概念的名字来源于由JamesWhitcombRiley提出的鸭子测试,“鸭子测试”可以这样表述:“当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就...
继续阅读 >
2020
10-10
10-10
通过实例解析python subprocess模块原理及用法
一、subprocess以及常用的封装函数运行python的时候,我们都是在创建并运行一个进程。像Linux进程那样,一个进程可以fork一个子进程,并让这个子进程exec另外一个程序。在Python中,我们通过标准库中的subprocess包来fork一个子进程,并运行一个外部的程序。subprocess包中定义有数个创建子进程的函数,这些函数分别以不同的方式创建子进程,所以我们可以根据需要来从中选取一个使用。另外subprocess还提供了一些管理标准流(standa...
继续阅读 >