Python
文章平均质量分 57
daimashiren
这个作者很懒,什么都没留下…
展开
-
Python获取文件名和文件类型
Python获取文件名和文件类型原创 2022-06-08 15:26:41 · 1331 阅读 · 0 评论 -
使用setuptools+Pyinstaller+Setup Factory打包Python应用程序避免踩坑超详细教程(可安装和卸载)
工具准备 工具名 版本号PyInstaller 4.0.dev0+3e6f7dc709setuptools 41.0.1Setup Factory 7.0前两个工具为Python的包,可以直接通过以下命令直接安装:pip install pyinstaller==4.0.dev0+3e6f7dc709pip install setupto...原创 2021-03-22 18:25:04 · 2305 阅读 · 3 评论 -
Keras实现简单字母加数字类型的验证码识别
文章目录验证码识别模型数据资料模型搭建过程代码1. 数据加载及可视化2. 构建数据字典3. 分割验证码4. 划分训练集和测试集5. 模型搭建6. 模型配置7. 模型训练8.模型预测及评估9. 模型调用10. 可视化验证码识别结果11. 模型保存12. 模型加载13. 模型二次调用验证码识别模型数据资料资料百度云地址提取码:fwil模型搭建过程代码1. 数据加载及可视化from matplotlib import pyplot as plt import numpy as npimport p原创 2021-02-02 15:53:35 · 362 阅读 · 1 评论 -
PyQt5中自定义QWebEngineView的右键菜单
实现代码@author: daimashiren@time: 2021/01/20# -*- coding: utf-8 -*-import sysfrom PyQt5.QtWidgets import *from PyQt5.QtCore import *from PyQt5.QtWebEngineWidgets import QWebEngineView,QWebEngineSettingsfrom PyQt5.QtWidgets import QMenu, QWidget.原创 2021-01-20 17:09:44 · 1973 阅读 · 0 评论 -
Numpy中np.indices函数用法详解
np.indices官方文档定义如下:def indices(dimensions, dtype=int, sparse=False): """ Return an array representing the indices of a grid. Compute an array where the subarrays contain index values 0, 1, ... varying only along the corresponding axis..原创 2020-12-15 17:05:37 · 17775 阅读 · 1 评论 -
Numpy中reshape和resize的区别
区别:np.reshape()作用是将原来的数组变换形状,不改变数组元素数量,要求更改后的数组元素总数不变。 np.resize()作用是改变数组的大小和形状,会改变数组元素数量,如果更改后的数组元素比原数组的多,则用原数组中的元素充填补齐。实例:In:import numpy as npa = np.arange(9)b = np.reshape(a,(3,3))c = np.resize(a,(5,5))print(b)print()print(c)Out:原数组:原创 2020-12-14 20:26:36 · 1585 阅读 · 0 评论 -
Numpy中关于np.rollaxis和np.swapaxes的理解
numpy.rollaxis(arr, axis, start)arr:数组 axis:要滚动的轴,其它轴的相对位置不变 start:默认为零,要滚动到目标位置。举例说明:>>> a = np.ones((3,4,5,6))>>> np.rollaxis(a, 3, 1).shape #把数组a的3轴滚动到1轴位置,其他轴相对位置相对不变(3, 6, 4, 5)>>> np.rollaxis(a, 2).shape .原创 2020-12-14 18:47:33 · 3428 阅读 · 0 评论 -
Numpy中数组的广播机制总结
Numpy中的对于数组间的算术运算采用“元素一 一对应”的计算机制,因而一般要求两个数组的形状相同才能进行数组间的算术运算,但是在某些情况中,Numpy中允许符合一定规则的不同形状的数组进行算术运算。广播的核心规则如下:两数组的后缘维度轴长度相同(满足低维数组是高维数组的某一内层元素,低维数组才能被拓展成和高维数组一样的形状) 两数组的后缘维度中有任意个长度是1或缺失 输出数组的形状是输入数组形状的各个维度上的最大值上面的规则可能看起来比较难懂,简单来说就是低维数组要想被拓展成和高维数组一样的形状原创 2020-12-12 10:46:59 · 440 阅读 · 0 评论 -
Numpy多维数组的点乘规律总结
Numpy中数组的点乘用函数dot()来实现,而单个*则表示的是数组对应元素的乘法。一维情况:In:a = np.array([1,2,3])b = np.array([1,2,3])print(a.dot(b))Out: 14一维数组点乘相当于向量乘法,计算结果为一个数(标量),注意要是等长的一维数组才能点乘二维情况:In:a = np.array([[1,2,3], [1,2,3]])b = np.array([[1,2,3],原创 2020-12-10 20:29:09 · 7789 阅读 · 0 评论 -
Numpy数组拼接总结
方法一:Numpy中使用级联函数concatenate()来连接两个数组,可选参数为连接轴(连接维度) axis,axis默认为0,即默认在第0维上进行元素的连接。级联函数使两数组指定维axis上的对应位置的元素相连接,若指定axis大小而时同维度上元素个数对应不相同时将会报错! 指定不同axis所得到的新数组形状不同注:Numpy中维度从第0维开始方法二:使用堆栈函数stack()来连接数组,可选参数仍为连接轴axis,axis默认大小为0。使用堆栈函数stack()连接数组与..原创 2020-11-30 21:41:37 · 5196 阅读 · 1 评论 -
Numpy数组切片总结
# -*- coding: utf-8 -*-import numpy as npb = np.array([[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]], [[13, 14, 15, 16], [17, 18, 19, 20], [21, 22, 23, 24]], [[25, 26, 27, 28], [29, 30, 31, 32], [33, 34, 35, 36]], ...原创 2020-11-29 22:15:53 · 812 阅读 · 1 评论 -
用PyQt5实现一个渐隐动画的消息弹窗
实现效果如下:关键代码:self.setWindowOpacity(opacity) # 设置窗口透明度,值为0-1之间,1为完全不透明全部代码:# -*- coding: utf-8 -*-@author: daimashiren@time: 2020/07/06from time import sleepfrom PyQt5.QtCore import Qt,QRect,QPoint,QTimerfrom PyQt5.QtWidgets import QD原创 2020-07-06 13:23:56 · 1726 阅读 · 0 评论 -
记PyQt5信号的一个坑
最近在用PyQt5做项目的时候偶然发现了一个小BUG,BUG虽小,可有时候往往就是最致命的一击。这里分享一下,希望大家不要踩坑。先看下面一个例子:# -*- coding: utf-8 -*-from PyQt5.QtWidgets import QWidget,QHBoxLayout,QLabel,QPushButton,QApplication,QVBoxLayoutfrom PyQt5.QtCore import pyqtSignalfrom functools import pa.原创 2020-05-18 18:39:01 · 745 阅读 · 4 评论 -
PIL Image 和QPixmap格式互转
#PIL格式转QPixmap格式 def pil2_pixmap(self,pil_img): print("PIL格式转QPixmap格式") pixmap = ImageQt.toqpixmap(pil_img) return pixmap #QPixmap格式转PIL格式 def pixmap2_pil(self,pixmap): print("QPixmap格式转PIL格式") img...原创 2020-05-12 17:22:47 · 4147 阅读 · 9 评论 -
qlineargradient中坐标的含义
emmmm最近用PyQt做项目的时候接触到了渐变色,感觉有点酷炫,就想着也整一波,但是转了几圈,看了挺多博客都没整明白qlineargradient里面的坐标和坐标后的数值是干嘛用的,后来看了几个别人的栗子,嗦嘎,原来如此。QSS代码如下: """ QWidget{ background: qlineargra...原创 2020-04-26 21:24:53 · 1348 阅读 · 1 评论 -
PyQt5 使用自定义ToolTip解决QTableWidget数据显示不全问题
目录问题描述解决方案实现效果问题描述最近在使用PyQT5做一个项目,用到最多的控件是QTableWidget,使用很方便,但是也存在很多问题,比如下面这种:数据太长,使用QTableWidget默认的列宽分配会导致显示不全,数据以"XXX..."的形式呈现,很不利于用户阅读。一个可能的解决办法是采用用户可以手动调整的方式来显示数据。效果如下图:使用的代码是...原创 2020-04-10 17:08:20 · 9244 阅读 · 3 评论 -
解决PyQt5 QTableWidget删除数据不完全的问题
PyQt5QTableWidget控件删除任意指定行演示from PyQt5.QtWidgets import *from PyQt5.QtCore import *class Table_win(QWidget): def __init__(self,parent=None): super(Table_win, self).__init__(parent...原创 2020-03-08 00:29:25 · 1222 阅读 · 0 评论 -
Python+selenium+phantomjs解决alert弹窗和confirm弹窗问题
phantomjs因为是无界面的,无法处理动态js渲染的alert弹窗,因此无法使用常规的switch_to_alert()来处理弹窗,否则将会报错。查阅资料发现其实phantomjs自带了处理弹窗的API,这里只需要在selenium中的调用phantomjs自带的API就行。browser = webdriver.PhantomJS(executable_path = os.p...原创 2019-12-30 22:29:05 · 648 阅读 · 0 评论 -
Python爬虫中文乱码的几种解决办法
中文乱码的解决方法爬虫最常见的问题是返回的数据中文乱码,对于爬虫小白来说这样的问题几乎不可避免,不过别担心,我这里有好几种解决中文乱码的方法,总有一款适合你。方法一:采用我这里代码里的这种方法,先在代码头设置编码方式为 " UTF-8" ,UTF-8 是保存中文字符的通用代码。然后,添加如下代码,一般都能解决中文乱码问题。#如果目标网页编码与本地不一致,修改本地默认编码方式(...转载 2019-05-26 16:49:19 · 26449 阅读 · 2 评论 -
基于Requests的Python爬虫入门实例------爬取豆瓣图书排行榜的前25本图书(小白福利)
话不多说,先上代码:# -*- coding:utf-8 -*-import sysimport requestsimport lxmlfrom bs4 import BeautifulSoupfrom requests.cookies import RequestsCookieJar#设置请求头,伪装成浏览器headers = {'User-Agent':'Mozil...原创 2019-05-26 22:24:45 · 1579 阅读 · 1 评论 -
利用Python发送带图片和附件的邮件
最近在学爬虫的时候,偶然看到了这个,然后就尝试着写了个脚本。python真的用途很广。写这个脚本的目的在于,是希望利用Selenium做自动化测试时能把错误的截图以及日志及时保存下来并发到指定邮箱,这样十分有利于后期的维护。那么话不多说,Show methe code!# coding:utf-8import smtplibimport osfrom email.mime.te...原创 2019-08-04 20:28:46 · 4155 阅读 · 4 评论 -
“not all arguments converted during bytes formatting”的一个可能的解决方法
最近写了一个python把图片写入Mysql数据库的小程序,在设计查询函数时报出“not all arguments converted during bytes formatting”的错误,百度了一堆方法,都没啥子用,最后在菜鸟教程里看到了一段代码,顿时有了启发!菜鸟里的代码是这样的:import mysql.connector mydb = mysql.connector....原创 2019-08-01 15:20:55 · 8893 阅读 · 3 评论 -
PyQt5高级界面控件之QTableWidget获取选中文本的内容及所在的行和列
PyQt5高级界面控件之QTableWidget获取选中文本的内容self.TableWidget = QTableWidget(4,3)row = self.TableWidget.selectedItems()[0].row() #获取选中文本所在的行column = self.TableWidget.selectedItems()[0].column(...原创 2019-08-12 17:08:46 · 14346 阅读 · 30 评论 -
PyQt5中QComboBox实现多选功能
网上大佬太多了,写的啥没看懂,自己摸索着也写了个出来,也勉强能用。功能:QComboBox实现多选功能 返回选中的文本列表 一键全选和取消全选功能from PyQt5 import QtCore, QtGui, QtWidgetsimport sysclass CheckableComboBox(QtWidgets.QComboBox): def __...原创 2019-08-12 17:30:16 · 6897 阅读 · 5 评论