- 博客(80)
- 收藏
- 关注
原创 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 316
原创 pyqt5 QWebEngineView 重写mousepressevent捕获鼠标点击事件,无响应
QWebEngineView 加载网页后,重写mousepressevent捕获鼠标点击事件,无响应原因是。QWebEngineView在加载界面后,被本身的child接收了该事件,解决办法:同过重载event,截取QEvent::ChildAdded事件。
2024-03-04 19:23:33 509
原创 python 调用SumatraPDF 静默打印PDF
⽆边框 noscale/缩⼩到合适⼤⼩(默认)shrink/合适⼤⼩ fit/compat 兼容。# 分为 Portrait (纵向)和 Landscape (横向)两类。SumatraPDF 文档。
2024-01-26 10:36:55 1037
原创 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 1269
原创 selenium 自动下载118版本以上的chromedriver驱动
【代码】selenium 自动下载118版本以上的chromedriver驱动。
2024-01-05 15:13:27 857
原创 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 449
原创 dos 命令 for循环 判断路径中包含某字符并移动文件
echo 路径%path1% 中不包含字符串crontab_master。echo 移到文件夹%path1% 到 %path2%echo %GenFolder%目录不存在,已创建该目录!echo %GenFolder%目录存在,直接移动。
2023-11-24 16:04:56 590
原创 pyinstaller 自动更新版本
4.关闭当前进程,移除旧文件夹里面的文件,将新文件移到当前位置。3.将旧的配置文件移到新配置文件夹中。1. 检测新版本,弹窗提醒更新。2.下载更新文件压缩包。
2023-10-24 15:35:13 518
原创 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 60
原创 threading 设置线程超时
task1.setDaemon(True) # 设置线程为守护线程,主线程结束,子线程随之结束,不等待。# join() 主线程等待子线程结束,一直等待,多线程运行时间等于最长子线程的时间。u.join(timeout=6) # 设置线程超时,6s 后线程1随之结束。print('线程2结束')
2023-07-19 18:39:10 362
原创 pymysql 重试连接数据库
self.conn.commit() # 每次查询后进行事务提交,下次查询到数据库更新后的数据。self.conn.commit() # 每次查询后进行事务提交,下次查询到数据库更新后的数据。def new_link(self):#重新连接数据库。
2023-07-19 17:53:05 1061
原创 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 305
原创 js 获取 table所有tr标签下第一个td的值
<table class="gridtable"> <thead> <tr> <th style="width: 20px;"> <input type="checkbox" name="allCheck" onclick="checkAll('allCheck', 'itemCheck')"> </th> <th >店铺<
2023-06-28 17:06:38 678
原创 批量解压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 141
原创 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 778
原创 更改打印机首选项设置
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 731
原创 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 517
原创 获取打印机状态,脱机或者在线
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 858
原创 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 365
原创 在不安装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 1716
原创 tkinter 同一界面滚动展示多张图片
tkinter 同一界面滚动展示多张图片from tkinter.scrolledtext import ScrolledText
2023-02-25 16:37:08 840
原创 python 向excel表中添加新的sheet页或者向旧sheet中写入数据
python 向excel表中添加新的sheet页或者向旧sheet中写入数据
2023-02-16 18:54:34 5209
原创 python 日期格式转换
import dateparserfrom dateutil.parser import parseimport locale
2023-01-31 18:57:45 1512
原创 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 1178
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人