一日一技:如何用 Python让自己变成天选之子
一日一技:如何用Python让自己变成天选之子摄影:产品经理厨师:kingname请大家猜一猜下面这段代码的运行效果:importrandomimporttimepeople=[‘kingname‘,‘王小一‘,‘李小二‘,‘张小三‘,‘刘小四‘,‘卢小五‘,‘马小六‘,‘周小七‘,‘丁小八‘,‘朱小九‘]foriinrange(1,11):lucky_guy=random.choice(peop 查看全文
一日一技:更优雅地在 Python 中写日志
一日一技:更优雅地在Python中写日志摄影:产品经理买单:kingname原来我们在Python中写日志,使用的是Python自带的logging模块,要实现既在终端输出,又能写文件,并且日志文件还能rotate,代码需要十多行:importloggingfromlogging.handlersimportRotatingFileHandleros.makedirs(‘Logs‘ 查看全文
一日一技:在 Python 中,is 并不一定包含==
一日一技:在Python中,is并不一定包含==摄影:产品经理买单:kingname在我们日常使用Python时,大家可能有这样一种认识:a==b为True,aisb不一定为Trueaisb为True,则a==b一定为True>>>a=‘abc!‘>>>b=‘abc!‘>>>a==bTrue>>>aisbFalse>&g 查看全文
【python】request模块使用
此处记录Python 第三方Request 模块的使用方法 1.安装pip安装 pip install requests 2.导入模块 import requests 3.简单使用 Get 请求 发送无参数的get请求,尝试获取某个网页. r = requests.get('http://www.b ... 查看全文
一日一技:用Python如何正确开发命令行交互程序
一日一技:用Python如何正确开发命令行交互程序摄影:产品经理与产品经理周游世界我要写一个命令行交互程序,当用户输入不同命令时执行不同操作。相信看本文的同学,你可能会这样写:defquery_by_id(user_id):print(f‘查询id为:{user_id}对应的用户‘)defquery_by_name(user_name):print(f‘查询用户名为:{user_name}的用户‘ 查看全文
一日一技:为什么年代久远的 Python 项目里面那么多默认参数?
一日一技:为什么年代久远的Python项目里面那么多默认参数?摄影:产品经理蜡烛上面的跑马灯在写Python代码的时候,大家可能会在不知不觉中使用一些设计范式。我们来看两个例子。假设有一个类People:classPeople:def__init__(self,name,age,sex):self.name=nameself.age=ageself.sex=sexdefdance(self):pr 查看全文
一日一技:在 Python 中快速遍历文件
一日一技:在Python中快速遍历文件摄影:产品经理厨师:产品经理当我们要在一个文件夹及其子文件夹里面寻找特定类型的文件,我们可能会这样写代码:没有子文件夹时importosall_file=os.listdir(‘target_folder‘)target_file=[xforxinall_fileifx.endswith(‘.py‘)]有子文件夹时:```importospy_files=[] 查看全文
[oBIX包使用教程] 使用 Python 通过 oBIX 协议访问 Niagara 数据
oBIX 全称是 Open Building Information Exchange,它是基于 RESTful Web Service 的接口的标准,用于构建控制系统。oBIX是在专为楼宇自动化设计的框架内,使用XML和URI在设备网络上读写数据的。 因项目需要使用 Python 对 Niagar ... 查看全文
一日一技:快速实现Python 命令行参数
一日一技:快速实现Python命令行参数摄影:产品经理厨师:kingname我们有时候需要使用Python开发一些命令行工具,并在运行命令的时候指定一些参数,例如:python3xxx.py--namekingname--salary999999对于简单的,只有几个参数的工具,我们可以使用sys.argv来获取。如果我们还需要在参数里面输出帮助信息,并且同时兼顾两种格式:python3xx.py- 查看全文
自动化篇 | 聊聊 Python 自动化脚本打包成 APK
之前有读者朋友说Airtest官方支持将自动化脚本编译成APK直接运行,照着官方提供的文档操作了一遍,发现不少的坑,今天带大家一起来填这些坑。在开始编写自动化脚本之前,我们首先要下载安装JDK,并配置JDK和ADB到环境变量中。以刷抖音短视频这一自动化操作为例,首先我们使用AirtestIDE新建一个.airAirtest项目。和常规自动化操作类似,我们需要借助ADB命令拿到抖音App的应用包名和 查看全文
短视频篇 | Python 带你进行短视频二次创作
1目标场景无论是抖音还是快手等视频平台,一旦一个视频火了后,很多UP主都会争先抢后去模仿拍摄或剪辑,然后上传到平台,最后都能带来不错的流量。对于一般的短视频,完全可以通过裁剪、特效转场、加入混合图层和字幕等一系列操作,很快就能制作出一个全新的视频,这些操作完全可以使用Python来实现。本篇文章的目的是带大家利用Python实现短视频的二次创作。2编写代码要实现短视频的二次创作,一般需要下面7个步 查看全文
视频剪辑什么鬼?Python 带你高效创作短视频
近两年,抖音、快手将短视频推到风口浪尖上,要生产出高质量的视频,离不开视频剪辑这一环节;在全民剪片浪潮中,大众使用最多的剪辑软件如:Pr、FCPX、剪印、Vue等。之前有两篇文章分别是实现了制作卡点小视频和GIF动画视频。制作抖音卡点视频?Python来帮你~10万+的短视频被批量生产了,Python表示不服视频剪辑过程中,Python一些比较实用的技能,帮助我们更快地进行短视频的创作。1、提取背 查看全文
这样学 Python 多线程与进程(一)
众所周知,Python中的多线程是一个假的多线程,对于多核CPU,由于受限于GIL全局解释锁,同一时刻只能有一个线程在运行。但是对于经常爬虫网络请求、下载图片等IO密集型操作,多线程变的很实用,能在一定程度上提高程序运行的效率。下面带大家从零开始学习Python多线程。1、单线程在单线程程序中可能包含多个方法,运行程序后,默认是在一个主线程里按顺序运行。importtimedefexe_time( 查看全文
自动化篇 | 你想要的闲鱼日常操作,Python 给你实现了
1目标场景前篇文章讲了如何在iOS端使用Airtest实现自动化的操作,本篇将继续带大家做iOS端的自动化项目。如果你经常用闲鱼,应该每天都要进行下面操作,App签到、鱼塘签到、擦亮宝贝,这一系列操作都是重复且枯燥的。本篇文章的目的是利用Python实现iOS端闲鱼日常操作。2编写代码在编写脚本之前,我们需要利用MacOSX的控制台程序拿到闲鱼App的bundle。第一步,打开目标App。利用应用 查看全文
女朋友背着我,用 Python 偷偷隐藏了她的行踪
1目标场景女朋友会Python是多么可怕的一件事!上篇文章发布之后,一位朋友告诉忽略了一件事,假设女朋友会Python的话,那岂不是要翻车?如果是这样的话,女朋友发过来的图片包含的地理位置是否真实,要打一个BigBig的问号了?实际上,利用Python是可以非常方便地修改一张图片的地理位置。2编写代码在编写脚本之前,需要在虚拟环境下安装依赖库:piexif第一步,我们读取原图的经度和纬度,然后将地 查看全文
一日一技:在Python里面做分数的运算
一日一技:在Python里面做分数的运算我们在之前的文章里面讲到过,如果不使用Decimal模块,那么直接做浮点运算获得的小数,可能是不准确的。例如0.1+0.2它的结果不是0.3而是0.30000000000000004。这不是Python的问题,而是浮点数在计算机中不能总是精确储存导致的问题。如果你现在需要做一个除法运算,但是你又忘记了Decimal模块的正确使用,那怎么办呢?这个时候,你想, 查看全文
一日一技:在Python里面实现链式调用
一日一技:在Python里面实现链式调用我们在使用Django的models查询数据库时,可以看到有这种写法:formapp.modelsimportXXXquery=XXX.objects.all()query=query.filter(name=123,age=456).filter(salary=999)在这种写法里面,query对象有一个filter方法,这个方法的返回数据还可以继续调用f 查看全文
一日一技:在Python中双下划线私有方法不能被调用的原理
一日一技:在Python中双下划线私有方法不能被调用的原理在使用Python编写面向对象的代码时,我们会常常使用“继承”这种开发方式。例如下面这一段代码:classInfo:def__init__(self):passdefcalc_age(self):print(‘我是父类的方法‘)classPeopleInfo(Info):def__init__(self):super().__init__( 查看全文
一日一技:在Python中创建临时文件用于记录临时数据
一日一技:在Python中创建临时文件用于记录临时数据当我们在做数据分析的时候,可能会由于数据量过大导致内存不足。如果我们没有条件使用更高配置的电脑,也没有办法优化数据,那么我们可以先把计算的中间值存放在一个文本文件中。例如:#第一步计算分成中间数据withopen(‘temp.txt‘,‘w‘,encoding=‘utf-8‘)asf:f.write(‘中间数据‘)#从内存中清空中间数据,腾出空 查看全文
一日一技:限制你的Python程序所能使用的最大内存
一日一技:限制你的Python程序所能使用的最大内存如果程序开发不当,可能会出现占用过多内存的情况。特别是在Docker里面,如果Python程序占用太多内存,可能会导致Docker容器死掉。为了限制Python程序所能使用的最大内存,我们可以使用Python自带的resource模块。首先获取系统默认的内存soft上限和hard上限:importresourcesoft,hard=resourc 查看全文
一日一技:在 Python 里面如何合并多个有序列表并使得结果依然有序?
一日一技:在Python里面如何合并多个有序列表并使得结果依然有序?摄影:产品经理厨师:kingname已知两个列表:[1,3,6,7,9]和[2,4,5,8,10]如何合并两个列表,并得到最终结果[1,2,3,4,5,6,7,8,9,10]?最常想到的办法是先把两个列表加到一起,再排序:a=[1,3,6,7,9]b=[2,4,5,8,10]c=a+bc.sort()print(c)运行效果如下图 查看全文
一日一技:Python读取包里面的数据文件的三种方法
一日一技:Python读取包里面的数据文件的三种方法我们知道,写Python代码的时候,如果一个包(package)里面的一个模块要导入另一个模块,那么我们可以使用相对导入:假设当前代码结构如下图所示:其中test_1是一个包,在util.py里面想导入同一个包里面的read.py中的read函数,那么代码可以写为:from.readimportreaddefutil():read()其中的.re 查看全文