自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 收藏
  • 关注

原创 undetected_chromedriver 控制已打开的浏览器

undetected_chromedriver 通过端口控制已打开的浏览器时,会打开一个多余的空白窗口,鼠标放在Chrome() 按ctrl+B查看源码,找到。

2024-06-20 11:27:05 136

原创 python 打开文件窗口和另存为文件窗口,win32con,win32gui

【代码】python 打开文件窗口和另存为文件窗口,win32con,win32gui。

2024-06-12 10:33:42 96

原创 python 读取csv报错UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0x87 in position 0: invalid start

pandas 和 csv 读取失败,一种方法是手动另存为时改变编码,以下是代码读取,可以使用https://cdn.jsdelivr.net/npm/xlsx/dist/xlsx.full.min.js 在浏览器上读取,nodejs需要安装两个库 npm install express xlsx express-fileupload -g。2. nodejs 写一个服务,python调用接口。python接口调用。

2024-03-20 23:15:10 366

原创 pyqt5 QWebEngineView 重写mousepressevent捕获鼠标点击事件,无响应

QWebEngineView 加载网页后,重写mousepressevent捕获鼠标点击事件,无响应原因是。QWebEngineView在加载界面后,被本身的child接收了该事件,解决办法:同过重载event,截取QEvent::ChildAdded事件。

2024-03-04 19:23:33 595

原创 pyqt5 QWidget 弹窗消息

【代码】pyqt5 QWidget 弹窗消息。

2024-02-03 14:04:08 568

原创 scrapy middleware 中间件 使用 asyncio

【代码】scrapy middleware 中间件 使用 asyncio。

2024-02-02 10:39:45 412

原创 python 调用SumatraPDF 静默打印PDF

⽆边框 noscale/缩⼩到合适⼤⼩(默认)shrink/合适⼤⼩ fit/compat 兼容。# 分为 Portrait (纵向)和 Landscape (横向)两类。SumatraPDF 文档。

2024-01-26 10:36:55 1161

原创 获取mac地址,内网ip,当前ip位置信息

获取当前ip位置信息。

2024-01-19 18:24:15 2044 1

原创 pypdf 将 PDF两个页面拼接成一个页面进一步详解

pypdf 将两个PDF页面在x轴,y轴进行平移调整位置之后,直接用merge_page拼接在一起,或者PageObject.create_blank_page 先创建一个空白页面,再将两个页面添加到空白页面上,2. 当 left和buttom都不为0,即RectangleObject([91.841, 38.5506, 261.791, 95.1271])方法2调整之后的效果 和left 和buttom 都为0时用方法1拼接发效果一样。小日子的两个案例,拼接在右侧。用上面方法拼接出来的效果,

2024-01-05 17:09:33 1389

原创 selenium 自动下载120版本以上的chromedriver最新版本

【代码】selenium 自动下载118版本以上的chromedriver驱动。

2024-01-05 15:13:27 977

原创 PyPDF2 将pdf的两个页面拼接成一个页面

【代码】PyPDF2 将pdf的两个页面拼接成一个页面。

2023-12-22 18:30:35 586

原创 python 用OpenCV 将图片转视频

【代码】python 用OpenCV 将图片转视频。

2023-12-22 17:25:31 1469

原创 spacy 将英文标题切分成短语

语言包为en_core_web_sm,根据spacy版本到https://github.com/explosion/spacy-models/releases?q=en_core_web_sm&expanded=true下载,pip install en_core_web_sm-3.7.1-py3-none-any.whl,en_core_web_sm语言包中的sm含义,

2023-11-29 09:11:48 465

原创 dos 命令 for循环 判断路径中包含某字符并移动文件

echo 路径%path1% 中不包含字符串crontab_master。echo 移到文件夹%path1% 到 %path2%echo %GenFolder%目录不存在,已创建该目录!echo %GenFolder%目录存在,直接移动。

2023-11-24 16:04:56 604

原创 pyinstaller 自动更新版本

4.关闭当前进程,移除旧文件夹里面的文件,将新文件移到当前位置。3.将旧的配置文件移到新配置文件夹中。1. 检测新版本,弹窗提醒更新。2.下载更新文件压缩包。

2023-10-24 15:35:13 662

原创 logging 记录日志

ch.setLevel(logging.INFO) # 输出到console的log等级的开关。fh.setLevel(logging.DEBUG) # 用于写到file的等级开关。logger.setLevel(logging.INFO) # Log等级总开关。# 第三步,再创建一个handler,用于输出到控制台。# 第二步,创建一个handler,用于写入日志文件。# 第五步,将logger添加到handler里面。# 第四步,定义handler的输出格式。# 第一步,创建一个logger。

2023-07-20 19:17:45 61

原创 threading 设置线程超时

task1.setDaemon(True) # 设置线程为守护线程,主线程结束,子线程随之结束,不等待。# join() 主线程等待子线程结束,一直等待,多线程运行时间等于最长子线程的时间。u.join(timeout=6) # 设置线程超时,6s 后线程1随之结束。print('线程2结束')

2023-07-19 18:39:10 397

原创 pymysql 重试连接数据库

self.conn.commit() # 每次查询后进行事务提交,下次查询到数据库更新后的数据。self.conn.commit() # 每次查询后进行事务提交,下次查询到数据库更新后的数据。def new_link(self):#重新连接数据库。

2023-07-19 17:53:05 1079

原创 js 获取某标签下的所有标签的属性值

递归获取标签下的所有子标签。# 获取标签下的所有标签的属性。

2023-07-07 11:15:42 863

原创 pyinstaller 打包的exe,关掉图标时关掉后台进程

image = Image.open(BytesIO(b64decode(favicon_ico))) # 打开 ICO 图像文件并创建一个 Image 对象。icon = pystray.Icon("name", image, "插件", menu) # 创建 PyStray Icon 对象,并传入关键参数。menu = (pystray.MenuItem(text='退出', action=on_quit_clicked),) # 创建菜单项元组。icon.stop() # 对象停止方法。

2023-07-06 17:03:00 342

原创 js 获取 table所有tr标签下第一个td的值

<table class="gridtable"> <thead> <tr> <th style="width: 20px;"> <input type="checkbox" name="allCheck" onclick="checkAll('allCheck', 'itemCheck')"> </th> <th >店铺&lt

2023-06-28 17:06:38 745

原创 批量解压zip

param zip_file_path: .tar 压缩文件。:return 解压 zip 文件,返回所有解压文件夹下的路径。:param unzip_file_path: 解压后的路径。:param index_keys: 判断标题的关键字。:param index_keys: 判断标题的关键字。:param filepath: 文件夹路径。:param filepath: 文件路径。:param sheet_name: 表名。:unzip_path 解压文件路径。:zip_path 压缩文件路径。

2023-06-28 15:51:59 149

原创 tkinter 使用pystray将 图标最小化到托盘

menu = pystray.Menu(pystray.MenuItem('显示', self.show_window, default=True), pystray.MenuItem(text='最近通知', action=lambda event:self.show_notify()), pystray.Menu.SEPARATOR, pystray.MenuItem('退出', self.quit_window))', compound='left', width=16)

2023-06-21 15:13:08 833

原创 更改打印机首选项设置

devmode.PaperSize = 0 # 纸号 默认0 则PaperLength,PaperWidth有效 或者设置 win32con.DMPAPER_B5 表示纸号为B5。devmode.Orientation = win32con.DMORIENT_LANDSCAPE # 横向打印。devmode.FormName = "test1" # 打印机首选项中,页面设置的名称。devmode.Copies = 1 #要打印的份数。# devmode.Scale = 0 #缩放。

2023-06-20 18:00:21 782

原创 psutil 获取进程信息

print('进程运行命令', p.cmdline())#进程运行命令。print('进程bin路径:', p.exe()) #进程bin路径。print('父进程pid:', p.ppid()) #父进程pid。print('运行状态:', p.status()) #运行状态。print('进程名称:', p.name())#显示进程名称。print('父进程:', p.parent()) #父进程。print('进程pid:', p.pid) #进程pid。# 判断进程是否存在。

2023-06-20 17:33:36 554

原创 获取打印机状态,脱机或者在线

status = '脱机' if (attributes & 0x00000400) >> 10 > 0 else '在线'value = f'{v["x"]}毫米 x {v["y"]}毫米'#获取默认打印机的名称 device_name 打印机名称。# 获取打印机状态 device_name打印机名称。return '未获取'# 返回获取所有打印机名称信息。# 判断是否默认打印机。# 打印机首选项页面设置的名称。# 打印机首选项页面设置的尺寸。

2023-06-20 17:28:44 920

原创 win32gui.LoadImage 报 pywintypes.error: (0, ‘LoadImage‘, ‘No error message is available‘)

self.start_server_button = Button(self.this_window, text="启动WEB服务", bg="lightblue", width=10,self.start_server_button = Button(self.this_window, text="清空日志", bg="lightblue", width=10,self.log_data_Text = Text(self.this_window, width=66, height=29) # 日志框。

2023-06-14 14:51:47 403

原创 在不安装ghostscript软件情况下,Windows中将ghostscript DLL(gsdll64.dll)库提供给python,并将资源打包进exe

3.gs9.54.0 为安装的 ghostscript软件,favicon.ico 为图标,ghostscript.py和gsprint.py 为ghostscript库修改后的文件, image.py图标及gif动画转为base64写入py文件,main.py 为主文件,main.spec 打包的配置文件。__init__.py 改成ghostscript.py,_gsprint.py 改成 gsprint.py,_errors.py里面的内容复制替换。将图片文件,比如图标,背景转换成py文件便于打包。

2023-06-14 12:16:12 1772

原创 python selenium 通过端口关闭进程

"""根据端口号杀死对应的进程"""# 根据端口号查询pid。# 杀死占用端口的pid。

2023-04-22 11:51:48 1814 1

原创 playwright 下载pdf

playwright 下载pdf

2023-03-07 18:34:33 675

原创 tkinter 同一界面滚动展示多张图片

tkinter 同一界面滚动展示多张图片from tkinter.scrolledtext import ScrolledText

2023-02-25 16:37:08 880

原创 tkinter 在windows和mac os 中展示gif动画

tkinter 在windows和mac os 中展示gif透明动画

2023-02-16 19:39:25 335

原创 python 向excel表中添加新的sheet页或者向旧sheet中写入数据

python 向excel表中添加新的sheet页或者向旧sheet中写入数据

2023-02-16 18:54:34 5608

原创 python 日期格式转换

import dateparserfrom dateutil.parser import parseimport locale

2023-01-31 18:57:45 1524

原创 windows 及Mac os 获取谷歌浏览器路径

windows 及Mac os 获取谷歌浏览器路径及 mac地址

2023-01-07 11:37:09 2313

原创 tkinter.PhotoImage 展示gif 动画

root.after(100, update, idx%numIdx) # 0.1秒(100毫秒)之后继续执行定时器函数(update)root.after(0, update, 0) # 立即启动定时器函数(update)idx += 1 # 下一帧的序号:在0,1,2,3,4,5之间循环(共6帧)label.configure(image=frame) # 显示当前帧的图片。# bytes到opencv。# opencv到bytes。# bytes到base64。# base64到bytes。

2023-01-07 11:24:51 1204

原创 更换自己的js文件

更换自己的js文件

2022-10-11 20:00:00 1779

原创 python将图片合并到PDF

python将图片合并到PDF

2022-10-11 19:00:00 1205 2

原创 python 检测文本语言类型

python 检测文本语言类型

2022-09-20 17:58:41 673

原创 xpath 高级用法

xpath 高级用法

2022-09-17 11:37:58 1457

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除