
python业务类
python学习中遇到的问题,记录,分析,总结!
liulanba
这个作者很懒,什么都没留下…
展开
-
pandas读写excel文件
pandas是一个十分强大的数据处理工具,最近需要处理数据并输入到excel,简单列举它的几个用法:1.按行写入excel:import osimport pandas as pdcur_dir = os.path.dirname(__file__)# c创建一个DataFrame数据类型,并写入表头res = pd.DataFrame(columns=("k1", "k2", "k3"))#添加两行数据res.loc[1] = ["11", "22", "33"]res.loc[2]原创 2021-12-20 23:07:34 · 23629 阅读 · 0 评论 -
pycharm配置sqlite
3.driver选择sqlite,选择jar包导入。6.如果sql文件没有显示表内容,则使用这一步加载。4.选择下载的jar包,点击apply。前提,下载sqlite配置jar包。2.在数据库栏选择sqlite。选择合适的版本,下载jar包。5.选择sqlite文件。原创 2023-02-17 10:42:34 · 19916 阅读 · 1 评论 -
sqlchemy filter和filter_by
3、在使用多条件匹配的时候,filter需要借助sqlalchemy里的and_或者连续调用filter来实现, 而filter_by不需要,直接把多个匹配条件写在一起。1、filter引用列名时,使用“类名.属性名”的方式,比较使用两个等号“==”2、filter_by引用列名时,使用“属性名”,比较使用一个等号“=”4、在使用多条件匹配时,用到>=、>、原创 2022-10-25 13:11:58 · 3447 阅读 · 0 评论 -
python开发--操作mysql数据
session的作用就是创建和管理数据库连接的会话 ,session对象访问数据库,并把访问到的数据以 Identity Map的方式,映射到Model object中。首先安装SQLAlchemy。原创 2022-10-23 11:12:19 · 2861 阅读 · 0 评论 -
python实现-身高和体重排序
题目描述:一组学生,每个学生有身高和体重两个特征,现在要对这些学生排序:先按照身高排序,身高相同的按照体重排序1.用字典来存储 身高和体重的键值对,基于题目描述,身高存在相同的情况,所以体重作为键不要因为先排序身高,第一次就排序身高,否则第二次排序会将已排序的序列打乱输出为:2.1存在问题:体重也存在相同的情况,作为键值就不合理,换列表存储,每个元素是(weight,height),先后顺序也可以调换输出为:3.变更一下,先按照体重排序,体重相同的按照身高排序直接修改排序的先后顺序即可输出为原创 2022-06-14 23:45:45 · 4668 阅读 · 0 评论 -
commands.getstatusoutput/urljoin/execfile的方法在python3中兼容
1.Python的commands模块在3.x版本中,getstatus方法被移除,getoutput和getstatusoutput被放到了subprocess模块中py2的commands.getstatusoutput修改兼容py2和py3import commandsstatus, stdout = commands.getstatusoutput("pwd")print(status)print(stdout)# 0# /usr1方法1:使用subprocess.getstat原创 2022-04-06 22:35:13 · 3100 阅读 · 0 评论 -
redis集群-局域网中两台电脑通信
之前使用局域网下两台电脑进行通信,redis主从部署,连接两台电脑 但是是一个主从复制的模式,从机无法给主机发送信息,因此,考虑另开一个redis,用于从机向主机发送信息#####redis配置使用了两台PCPC1(主控端)ip1:192.168.64.110 port:6379(控制PC2的IP1)ip2:10.104.64.110 port:6377修改文件:redis.windows.confbind 192.168.64.110port 6379复制redis.wi原创 2021-05-18 14:58:32 · 6120 阅读 · 3 评论 -
python比较两张截图相似度
需求让电脑自动判断是否收到微信消息思路截图1:清屏截图2:发送信息之后计算两张截图的相似度实现:截图,处理像素点,如果两个图片不同的像素点大于设置的阈值,则认为两张图片不相同,即:收到了微信消息#图片相似度比较from PIL import Imageimport timefrom PIL import ImageGrabimport osroot_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))原创 2021-05-08 10:54:24 · 4050 阅读 · 5 评论 -
Python实现-两台PC利用多进程分别进行redis的接收和发送
使用redis订阅可以让两台电脑通信,但是只能一台作为发送端,一台作为接收端,类似于C/S模式,如果想让两台都可以发送并接受,则需要通过多进程来实现:PC1的发送和PC2的接收对应一个频道,PC2的发送和PC1的接收对应另一个频道,使用多进程来并发:简单举个例子:pc1向pc2发送字符串,pc2收到后根据字符串进行处理,并将处理结果发送给pc1,原理很简单,直接上代码:pc1.py#PC2作为被控制端,先开始订阅并监听#PC1作为控制端,先开始发送#需要先启动PC2,PC1给PC2发送的最初3原创 2021-04-29 11:47:55 · 6744 阅读 · 1 评论 -
python-redis订阅监听
关于redis订阅可以参考:redis订阅首先创建两个py文件,一个用于订阅并监听(server.py),另一个用于发送信息(client.py)server.pyimport redisdef redis_listen(): rcon=redis.StrictRedis(host='127.0.0.1') p=rcon.pubsub() p.subscribe('redischat')#订阅 #监听 for i in p.listen():原创 2021-04-28 13:26:54 · 4183 阅读 · 0 评论 -
python常用网站
指定下载的包适用的 Python 版本。综合起来,该命令的作用是在Windows系统上,下载linux系统的mysqlclient 2.1.0版本的二进制文件,不下载依赖包,使用阿里云的镜像站点作为包索引源进行下载。它允许在可联网的机器上下载包文件,以便在无网络的环境中进行离线安装。有的三方库是压缩包的形式,则需要解压,将下载下来的第三方库解压后得到一个文件夹,里面有一个 setup.py 的文件以及若干文件。: 这个选项指定了要使用的包索引源的URL,也就是从阿里云的镜像站点下载包。原创 2021-04-21 11:34:27 · 4555 阅读 · 1 评论 -
python adb开发-adb常见用法
ADB,即 Android Debug Bridge,是 Android 开发/测试人员不可替代的强大工具。adb与应用的连接1.启动/停止启动 adb server 命令:adb start-server(一般无需手动执行此命令,在运行 adb 命令时若发现 adb server 没有启动会自动调起。)停止 adb server 命令:adb kill-server2.查看 adb 版本命令:adb version输出为:C:\WINDOWS\system32>adb原创 2021-04-07 09:35:51 · 6176 阅读 · 7 评论 -
python执行shell命令
1.不需要获取命令执行结果os.system(command)# -*- coding:utf-8 -*-import oscommand='adb devices'tt=os.system(command)print(tt)print(type(tt))输出结果为:0<class 'int'>2.需要获取命令执行结果tt=os.popen(command)# -*- coding:utf-8 -*-import oscommand='adb devic原创 2021-04-06 18:23:05 · 13041 阅读 · 0 评论 -
python adb开发-环境配置
1.下载Android SDK官网链接2. 安装Android SDK将下载后的文件解压缩(建议直接放到目标位置,因为安装的时候不支持指定安装路径),然后运行其中的SDK Manager.exe文件。进入Packages安装管理界面,直接使用默认选项,然后点击右下角的 Install XX packages 按钮,整个下载安装过程大概需要几十分钟,具体时间跟个人网速有关。3.环境配置将android sdk下的platforms和tools的路径放到系统变量中:高级系统配置->环境变原创 2021-04-06 11:47:34 · 3539 阅读 · 0 评论 -
python adb开发-开启移动端应用
1.打开要启动的应用也就是打开准备用电脑命令启动的手机APP,这里以QQ为例2.获取包名和路径名adb shell dumpsys activity | findstr "mFocusedActivity"输出为: 包名/路径名还可以用这种方式输出完整路径:adb shell dumpsys window | findstr mCurrentFocus3.启动应用:adb shell am start -W com.tencent.mobileqq/com.tencent.mobileq原创 2021-04-06 11:15:48 · 2838 阅读 · 0 评论 -
xlrd/xlwt读写excel文件
1.安装pip install xlrdpip install xlwt2.xlrd读excelimport xlrdpath=""book=xlrd.open_workbook(path)sheet0=book.sheets()[0]#表格索引,从0开始print(sheet0)sheet1=book.sheets()[1]print(sheet1)rows=sheet1.nrowscols=sheet1.ncolsprint("表格总行数:",rows)print("表格原创 2021-04-01 13:19:31 · 4175 阅读 · 10 评论 -
python操作docx文件
1.安装pip install python_docx2.引入import docxfrom docx import Document3.新建和打开文件#新建文档并保存import docxfrom docx import Documentdocument = Document()document.save('test.docx')import docxfrom docx import Documentdocument = Document('test.docx')do原创 2021-04-01 12:28:02 · 3181 阅读 · 0 评论 -
Python实现文件的复制粘贴
用 Python 复制文件的 9 种方法具体是:shutil copyfile() shutil copy() shutil copyfileobj() shutil copy2()os popen()os system() threading Thread() subprocess call() subprocess check_output() 1.Shutil Copyfile()1.只有当目标是可写的,这个方法才会将源内容复制到目标位置。如果你没有写入权限,则会导致 IOEr原创 2021-03-18 15:50:37 · 15550 阅读 · 0 评论 -
python-pyperclip模块
安装:pip install pyperclip使用:import pyperclip作用:使用剪贴板复制粘贴字符串方法:复制:copy()粘贴:paste()import pyperclipimport timeimport pyautoguifilepath="E:/program/python/test.txt"pyperclip.copy(filepath)pyperclip.paste()最终在鼠标的位置输出:“E:/program/python/原创 2021-03-17 09:15:23 · 2923 阅读 · 0 评论 -
python文件读取和写入的模式:r/r+/w/w+/a/a+
python进行文件读写的时候,需要注意他的模式总结如下:另外还有‘rb’:以二进制方式读取 ‘wb’:以二进制方式写入举一个简单的文件读写操作的例子,其他的根据需要按照表格类推就好with open("testget.txt",'r',encoding='utf-8') as ff: tmp=ff.readlines()for x in tmp: x+="test"with open("testput.txt",'w',encoding='utf-8') as ff:原创 2021-03-12 11:40:35 · 4924 阅读 · 0 评论 -
python configparser处理.ini配置文件
配置文件(.ini)有两种格式:session1.key=value2.key:value建立一个ini文件测试,内容如下:[jingdong]loca=beijingboss=liuqiangdong[Alibaba]loca=hangzhouboss=mayun[tecent]loca=shehzhenboss=mahuateng[huawei]loca=shenzhenboss=renzhenfei1.read()函数def read(self, filena原创 2021-03-09 17:00:40 · 2950 阅读 · 3 评论 -
ac.find_template识别图片并定位
这里的ac就是aircv,可以直接用pip安装pip install aircv使用的时候就可以用:import aircv as ac在aircv的init文件中对于find_template函数的解释如下:def find_template(im_source, im_search, threshold=0.5, rgb=False, bgremove=False): ''' @return find location if not found; return Non原创 2021-03-09 13:45:45 · 9687 阅读 · 9 评论 -
python安装win32gui/win32con/win32clipboad失败
想使用win32gui这个包,电脑环境没有这个包,直接运行:pip install -i https://pypi.doubanio.com/simple/ win32gui报错:查找资料后发现,他是pypiwin32的一部分,直接安装pypiwin32就可以,不能用pip install 安装,也不能够查找到这个包。pip install -i https://pypi.doubanio.com/simple/ pypiwin32成功安装!...原创 2021-03-08 13:36:24 · 4701 阅读 · 1 评论 -
python导入常见问题和处理
打开一个GitHub项目,“from(包)import(文件)”出错,查看了很多方法,都不能解决!无意间发现一个问题,新建的python 包都有一个"init.py"文件,但是该项目的包里面没有该文件:查了一下该文件的作用:init.py的第一个作用就是package的标识,如果没有该文件,该目录就不会认为是package具体可以参考一下:python模块中__init__.py的作用因此导入的时候可能IDE没有识别到,所以报错,尝试在包里面添加一个"init.py"文件,内容为空即可,再次运原创 2021-03-08 13:28:33 · 8244 阅读 · 0 评论 -
python字典按照键和值进行排序
排序首先想到python的sorted()和sort()sort 与 sorted 区别:1.sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。2. list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。通俗的说,就是sort没有返回值,sorted有返回值。sorted 语法: sorted(iterable, key=None, reverse=False)原创 2021-03-05 11:02:51 · 3423 阅读 · 3 评论 -
python实现斐波那契数列
对于小一点的数字求解没有问题,但是如果数字比较大(斐波那契第45位已经是10位数了),就很耗时甚至IDE求不出来,这个时候我们就不能再使用递归了。F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1.写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。原创 2021-03-04 10:03:42 · 4964 阅读 · 1 评论 -
PyQT实战-实现随机生成多项式并计算
老师布置作业,让给家里的初中小朋友出多项式,并批改,懒得算,敲个代码做个UI让自己算吧。。。刚学的QT派上用场了,主要就两个文件,一个是界面,一个是算法,合起来就OK了!界面的py文件:# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'Duoxs.ui'## Created by: PyQt5 UI code generator 5.15.1## WARNING: Any manual原创 2021-01-28 10:29:20 · 2979 阅读 · 0 评论 -
PyQt实战-实现hex-str转换和进制转换
工作需要,频繁进行hex-str的转换,不想一直访问网站,做一个简单的UI主要有三个UI:进制转换/hex-str/主界面UI文件转换为py文件,使用main.py把他们关联起来直接上代码,界面的py是使用"pyuic5 -o xx.py xx.ui"转换过来的:进制转换baseconversion.py:# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'base_conversion.ui原创 2021-01-28 11:06:04 · 3440 阅读 · 0 评论 -
用Python对文件夹下文件按顺序重命名
在处理机器学习的图片时,需要将图片根据类别放入不同文件夹中,在文件夹下也想将图片用数字递增重命名一下,方便后续处理。首先,我们看一下python的重命名函数:os.rename(src,dst)src:要修改的目录名dst:修改后的目录名如果dst是一个存在的目录, 将抛出OSError。注意:src和dst都是完整路径+文件名首先,我们先对文件夹重命名先使用最简单的方法尝试一下:import osdef myrename(path):file_list=os.listdir(path原创 2020-12-04 14:05:29 · 11303 阅读 · 10 评论 -
用python生成MD5并去重
给每个文件生成一个MD5值,来对文件进行加密,是常用的文件校验方法,但是MD5的缺陷就是不能防止碰撞,所以不同文件生成的MD5可能是相同的,因此就需要进行去重操作。为方便演示,我用txt文件代替文件夹,用txt文件中的字符串代替文件夹中文件来生成MD5值并进行去重操作。然后用代码生成MD5值并输出为文件,打印了一下字符串的数量和MD5的数量,两者是相同.原创 2020-12-06 21:10:13 · 3081 阅读 · 0 评论 -
python根据list元素的部分进行去重
在使用python的元素去重时,可以直接使用python的set()函数对字符串或者列表去重,但是set()对列表去重是将列表的每个元素当作整体进行去重,如果我们想根据列表元素的部分进行去重,set方法就不适用了。举个例子,列表含有四个元素,目的是根据"–“左边的元素进行去重,保证”–“左边的元素唯一,右边只需要任意一个字符串对应左边元素的即可。11—as12–sa12–qw11–sa使用set()去重仍将得到四个元素,我们使用python的字典作为辅助工具来操作:建立一个空字典,遍历list原创 2020-12-07 10:58:46 · 3273 阅读 · 0 评论 -
python用for循环遍历list并修改,出现错误
问题来源:做了一个小程序,想往一个字符串的指定位置插入特定符号,但是插入的时候,发现遍历到list原始长度之后就无法继续插入了将那一部分的代码单独拉出来:问题分析:往指定位置插入,无法使用append()或者extend()来修正,使用insert()出错,猜测是遍历的问题。for循环中的le并没有改变,因此遍历的时候只能遍历到list的原始长度,后面的无法遍历到,也就无法插入了。问题解决:新建一个list,append()原始list,在需要添加指定符号的位置额外append(指定符号)如果有其原创 2020-11-25 12:58:47 · 4197 阅读 · 2 评论 -
python中一个函数调用另一个函数中的变量
我们在一个函数func2()中想使用另一个函数func1()中的变量,通常会使用返回值的方法,但是在调用的时候,也会将func2()整体运行一遍:如果func2()函数体的运行对于func1()取返回值没有影响则完全可以,但是如果func2()函数体的运行对于func1()取返回值有影响,或者func1()的函数体中引入了其他函数的返回值,则会导致问题。这个时候,我们需要把所取的返回值设置为全局变量:......原创 2020-11-30 19:16:53 · 78540 阅读 · 7 评论 -
python将一个txt文档中各种文件按照扩展名进行分类
需要将一个txt文件的很多条文件名按照路径进行一下分类,数目较少,手动就可以,数目多且类别多的情况下,则不适用,这里使用python代码来分类。自建了一个用于测试的txt文档,里面有一些文件的路径:读取文件数量:import ospath='D:/Python_Program/test/test.txt'with open(path) as ff: tmp = ff.readlines()print("一共含有{}个文件".format(len(tmp)))一共含有55个文件分原创 2020-12-08 13:00:58 · 3226 阅读 · 0 评论 -
python将文件夹下的文件根据扩展名放入不同的文件夹下
目的:一个文件夹下有很多文件,且有很多种扩展名,手动复制粘贴很麻烦,想用代码实现。新建一个文件夹,里面有测试用的一些文件:代码实现根据扩展名新建文件夹,并将同样扩展名的文件都放入该文件夹下:import shutilimport osdef classify(filespath,outpath): files=os.listdir(filespath) # 获取所有的文件 for x in files: srcname=os.path.join(filespath原创 2020-12-08 15:02:42 · 3795 阅读 · 1 评论 -
win10卸载python不干净导致重新无法安装
电脑卡顿,想将电脑软件卸载重装,嫌系统的卸载程序太慢,使用360卸载,并且将Program Files里面的python安装位置也用360强力删除了,结果重新安装的时候就出现问题了。以管理员方式打开,防止权限不够影响安装,但是还是出现问题:打开后是这个界面,想着应该是没有卸载干净,点击uninstall,但是仍然是错误的。点击Modify就会进入这个页面,勾选 py laucher,点击next路径是之前python的安装路径,这里面勾选默认就好。点击安装运行成功之后就会在他的路径下有py原创 2020-12-03 13:27:12 · 16035 阅读 · 7 评论