- 博客(296)
- 收藏
- 关注
原创 Python+PIL:压缩图片
有时在发送一些文件如PPT、Word时,由于文件中的图片太大,导致文件也太大,无法发送,所有可以对文件中的图片进行压缩,下面代码根据用户自定义的目标大小(如30KB或40KB)进行压缩,并尽可能保证图片清晰度。:优先降低质量,避免不必要的缩放,减少清晰度损失。:在压缩后对图片进行锐化处理,进一步提升清晰度。重采样算法,保证缩放后的图片清晰度。
2025-02-12 16:59:09
140
原创 Python+spire.doc:读取Word文档内容
因为Word文档本质上是流式文档,流式布局,所以没有“页面”的概念。为了方便页面操作,Spire.Doc for Python提供了FixedLayoutDocument类,用于将Word文档转换为固定布局。Document.Sections[index] 属性可用于获取Word 文档中的特定节点。获取后,可遍历该节中的段落、表格等。可对查找的内容进行其他操作。
2025-02-12 15:52:00
222
原创 Python-pywin32库的使用
Beep()用于通过计算机的主板扬声器(或声卡模拟)发出指定频率和时长的蜂鸣声。与(播放系统预定义声音)不同,Beep()允许自定义声音的频率和持续时间。参数名类型描述frequencyint声音的频率(单位:赫兹,Hz)。37 Hz 到 32767 Hz。262 Hz (中音C)、440 Hz (标准音A)、1000 Hz (高频提示音)durationint声音的持续时间(单位:毫秒,ms)。正整数(如 500=0.5秒)。演示一段音符,# 定义音符频率和时长(毫秒)melody = [
2025-02-12 11:16:20
813
原创 Python内置库之pathlib
print(p.stat().st_atime) # 输出最后访问时间print(p.stat().st_mtime) # 输出最后修改时间print(p.stat().st_atime) # 输出文件系统最后访问时间print(p.stat().st_mtime) # 输出文件系统最后修改时间print(p.stat().st_atime) # 输出文件系统最后访问时间print(p.stat().st_mtime) # 输出文件系统最后修改时间。
2025-02-11 11:28:32
657
原创 Python+wxauto:实现电脑端微信程序自动化
wxauto库底层使用的是uiautomation框架,进行了封装处理。安装:pip install wxauto -i https://pypi.tuna.tsinghua.edu.cn/simple/
2025-02-10 17:46:37
1621
原创 python+playwright自动化测试(十):自动化脚本录制
录制命令示例:playwright codegen --target python -o E:\桌面\test_pro.py -b chromium https://www.baidu.com。
2025-02-10 14:10:25
280
原创 python内置库之getpass、msvcrt:密码安全输入(keyring+getpass、msvcrt实现密码安全管理)
中介绍了使用keyring库进行密码的安全存储,但是也提到keyring库的使用可能需要用户的交互,如在首次存储凭证时输入密码或修改密码时需要输入密码,这样会是密码暴露出来。所有我们可以使用Python的内置库getpass,这个模块是用来在终端(命令行界面)中安全地获取用户密码输入的。在用户输入密码时隐藏输入内容,从而增强了安全性。对于编写需要用户输入密码的程序非常有用。
2025-02-10 11:28:46
422
原创 python之keyring库:安全密码管理库,不同平台service_name、username的获取
keyring是一个Python库,它提供了一个简单的方法来访问系统的密钥管理服务,使得存储和检索敏感信息(如密码)变得更加安全和便捷。使用keyring库的好处之一是它抽象了底层密钥管理的细节,使得你的应用程序可以跨多个平台(如Windows、macOS、Linux等)一致地工作,而无需关心每个平台特定的密钥存储机制,方便测试及开发中的用户及密码管理。需要注意的是,keyring库的使用可能需要用户的交互(如在首次存储凭证时输入密码),这取决于底层的密钥管理服务实现。
2025-02-10 10:18:51
860
1
原创 adb命令对手机短信进行读取
Android的短信存储在content provider中,通常是content://sms/inbox。可根据短信的内容、发件人号码或时间戳来筛选短息。因此,ADB命令需要包含这些条件。例如,使用--where参数来指定条件,比如address='号码'或body LIKE '%关键词%'。通过调整--uri参数可操作不同短信箱(收件箱)(已发送)(草稿箱)content://sms/all (所有短信)content://sms/outbox 发件箱(尚未发送)
2025-02-08 17:26:05
397
原创 python+imbox实现邮件读取、附件下载、邮件删除
print(message.body['plain']) 输出结果是 Unicode 编码的字符串列表,而不是直接解析后的文本。返回的邮件正文内容可能是以列表形式存储的,并且可能包含 HTML 实体或 Unicode 编码。)将 Unicode 编码的字符串转换为可读文本。返回的是一个列表,你需要提取列表中的字符串。:如果邮件正文包含 HTML 实体(如。:使用 Python 的内置功能(如。可根据邮件内容或主题等进行标记。可根据邮件内容或主题等进行删除。
2025-02-08 14:15:52
328
原创 python+imaplib+email实现邮箱数据读取、附件下载、条件删除
可以根据条件如邮件标题、内容等进行邮件的删除操作,注意此删除操作是真删,删除后无法在已删除邮件中找到邮件。等),或者正文内容可能是 HTML 或纯文本的多部分结构。这个错误是因为邮件的正文内容可能不是 UTF-8 编码的文本,而是其他编码格式(如。需要遍历邮件的各个部分,找到合适的正文内容。如果没有明确指定编码,可以尝试常见的编码格式(如。:邮件的正文可能包含多种编码格式,需要根据邮件的。可指定邮件时间获取对应范围内容的邮件。库提供的工具安全地解码邮件正文。:邮件正文可能是多部分结构(如。
2025-02-08 11:28:50
807
原创 python+playwright自动化测试(九):expect断言和expect_xxx()元素及事件捕获
如果提供了谓词,则传递‘ Page ’值输入‘ predicate ’函数,并等待‘ predicate(event) ’返回一个真值。context.expect_event():指定事件触发时执行一个断言函数,并返回事件数据值。这些方法通常用在异步编程中,特别是在测试框架中,如pytest,可以帮助在测试期间等待特定的页面状态或元素状态。context.expect_console_message():执行操作并等待‘ ConsoleMessage ’在上下文中的页面中被记录。
2025-01-24 17:13:00
368
原创 python+playwright自动化测试(八):iframe切换、多窗口切换
context.add_cookies():将cookie添加到此浏览器上下文所在的所有页面中。context.grant_permissions():浏览器上下文的指定权限授权。context.clear_cookies():清除context的cookie。context.clear_permissions():清除授权。context.pages :获取context所有page对象。context.new_page():生成一个新的page对象。context.close():关闭context。
2025-01-24 10:49:12
368
原创 python+playwright自动化测试(七):同步与异步
异步需要导入from playwright.async_api import async_playwright,使用with async_playwright()创建上下文操作对象。代码中需要使用异步编程库asyncio中的async进行异步函数的定义,每个要执行的语句需要使用await关键字等待异步执行的结果返回。
2025-01-24 10:07:28
252
原创 python+playwright自动化测试(六):设置代理及网络监听和数据拦截修改
上面代码中使用了from functools import partial,解决事件监控时的函数传参问题,监控函数第一个传参为事件本身,如on_close中的event实际代表close。当然后面的网络拦截中也适用。修改响应数据通过使用 APIRequestContext 获取原始响应,然后将响应传递给 route.fulfill()。这种方式可以在不修改代码的情况下改变代理设置。中止请求使用route.abort()要在固定的上下文中使用代理,可以使用。
2025-01-23 16:53:24
260
原创 python+playwright自动化测试(五):使用token实现免登录
自动化测试时时常需要做初始化的动作,但又不需要每次都做登录操作,尤其是单元测试过程中,那么就需要做免登录处理。
2025-01-23 12:01:26
327
原创 python+playwright自动化测试(四):元素操作(键盘鼠标事件)、文件上传
支持键盘按键,可执行的按键有Backquote, Minus, Equal, Backslash, Backspace, Tab, Delete, Escape,ArrowDown, End, Enter, Home, Insert, PageDown, PageUp, ArrowRight,ArrowUp, F1 - F12, Digit0 - Digit9, KeyA - KeyZ, etc。但输入结果有所不同,type()输入内容不会清除后输入,会在原来内容的基础上追加。通过循环输入可看出差异。
2025-01-22 16:11:35
607
原创 python+playwright自动化测试(三):事件等待机制
playwright中的timeout默认为30s,timeout=30000,有时需要根据具体情况进行自定义调整。
2025-01-17 16:41:40
747
原创 python+playwright自动化测试(二):元素定位与页面内容获取
官网:playwright同selenium一样,支持css、xpath等的元素方法定位。
2025-01-14 17:37:45
899
原创 python+playwright自动化测试(一):安装及简单使用,截图录屏
playwright是一个非常强大的自动化框架,支持Linux、Mac以及Windows操作系统操作,支持Chromium、Firefox、WebKit等主流浏览器自动化操作。官网:https://playwright.dev/安装playwright框架:pip install playwright安装浏览器驱动:playwright install ,可指定对应浏览器安装,如playwright install Chromium,不指定时安装默认的Chromium、Firefox、Webkit,
2025-01-14 12:01:41
719
原创 用python实现html转pdf:weasyprint、pdfkit
OSError: cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0',需要将gtk的bin添加到环境变量path中,或者使用os模块添加。在文件或字符串转pdf时,可通过css选项指定外部css文件,支持单个或多个css文件的添加。
2025-01-10 11:39:51
793
原创 python+pdfplumber:提取和分析PDF中的表格、文本等数据,实现pdf转图片、CSV、JSON、dict
安装:pip install pdfplumber -i https://pypi.tuna.tsinghua.edu.cn/simple/
2025-01-09 14:25:29
755
原创 python+fpdf:创建pdf并实现表格数据写入
fname=r'C:\Users\DELL\AppData\Local\JianyingPro\User Data\Cache\effect\9182767\56dfcfca94158a7a92263aa5b41f8a84-preview\Aa以梦为马.ttf')
2025-01-08 17:50:34
662
原创 python+watchdog 实现文件资源监控
watchdog 支持跨平台文件资源监控,可以检测指定文件夹下文件及文件夹变动,当出现不同变动(新增、删除、修改)后,可进行相应处理。安装:pip install watchdog。
2025-01-07 16:25:08
203
原创 python+camelot库:提取pdf中的表格数据
支持将读取到的表格数据转为以下格式的文件:"csv", "html", "json", "markdown", "excel", "sqlite"pages:要提取表格的页面范围,可以是单个页面或多个页面,如值为‘1-4’,表示1到4页,如写成‘1,4,6’表示提取第1,第4,第6页的数据。table_areas:要提取表格的区域范围,可以是单个区域或区域范围的列表[x1,y1,x2,y2]。flavor:PDF解析器的类型,默认为"lattice",常用选择"stream"。
2025-01-07 15:02:14
560
原创 python+PyMuPDF库:(三)pdf文件的选择性合并、其他格式文件转pdf
insert_file: 支持docx、xlsx、pdf、PPTX、txt、svg、xps、FB2、CBZ、EPUB、MOBI、HWPX、图片等多种格式的文件的插入。利用此方法可以将此类文件转为pdf格式的文件。# from_page,to_page 要截取的开始页和终止页,默认为-1,表示所有页。# start_at 要插入到某页,默认-1,表示最后一页。insert_pdf :用来打开pdf文件并插入。# rotate旋转角度。
2025-01-03 17:09:19
408
原创 python+PyMuPDF库:(二)提取pdf文件中的图片及修改内容
修改图片时无法加载直接将目标图片替换成和原pdf图片一样的大小,会出现空白,边框等,这里使用PIL单独写了一个方法将目标图片修改成和要求一样的大小。
2024-12-27 18:02:51
267
原创 python+PyMuPDF库:(一)创建pdf文件及内容读取和写入
安装:pip install PyMuPDF -i https://pypi.mirrors.ustc.edu.cn/simple/PyMuPDF库支持多种文档格式的内容读取,如PDF、XPS、CBZ等,支持将文档转换为其他格式,如HTML、SVG、PDF和CBZ等。PyMuPDF可以修改pdf文件的内容。其他文件类型用PyMuPDF是只读的。但可以将任何文档(包括图像)转换为PDF(Document.convert_to_pdf()),然后将再使用PyMuPDF的功能进行操作。
2024-12-27 11:29:25
1016
原创 python+reportlab创建PDF文件
reportlab库支持创建包含文本、图像、图形和表格的复杂PDF文档。安装:pip install reportlab -i https://pypi.tuna.tsinghua.edu.cn/simple。
2024-12-25 14:56:40
733
原创 python+PyPDF2实现PDF的文本内容读取、多文件合并、旋转、裁剪、缩放、加解密、添加水印
安装:pip install PyPDF2 -i https://pypi.tuna.tsinghua.edu.cn/simple。
2024-12-24 11:51:32
512
原创 python实现Word转PDF(comtypes、win32com、docx2pdf)
支持docx和doc格式的文档转PDF,comtypes与win32com底层调用一样,使用方法也一样。保存文件时相当于调用了office中的另存为。只需要修改SaveAs中的FileFormat参数值即可转为对应格式的文件。docx2pdf是封装了Windows 系统 win32com 及macos系统处理文件的应用库,只支持docx格式文件转PDF。安装后一行代码即可使用。office 2007支持的全部文件格式对应表。安装:pip install docx2pdf。
2024-12-20 15:15:08
425
原创 python实现Excel转图片
安装:pip install spire.xls -i https://pypi.tuna.tsinghua.edu.cn/simple。安装:pip install excel2img -i https://pypi.tuna.tsinghua.edu.cn/simple。支持选择行和列截图,不好的一点就是商业库,转出来的图片有水印。
2024-12-19 16:49:01
625
原创 python实现word转html
mammoth库支持将word转为HTML和markdown格式的文件。强大的word文件处理库,不太好的就是商业库转换出的文件有水印。
2024-12-19 11:09:39
579
原创 python+spire.doc:word文档转图片(精彩部分:解决spire.doc生成固定水印无法去除的问题)、文件编码格式获取
安装库:pip install spire.doc -i https://pypi.tuna.tsinghua.edu.cn/simple使用spire.doc库将word转图片后产生水印文字:Evaluation Warning: The document was created with Spire.Doc for Python.原因是商业库,需要购买官方许可证。这点难不倒爱创新的我!!
2024-12-12 15:57:44
928
1
原创 python+img2pdf 快速图片转pdf+(img2pdf.ExifOrientationError处理、文件被打开或占用报错处理)
使用命令行参数--rotation=ifvalid来指示img2pdf在遇到无效旋转值时采取合适的行动。自动修正所有有效的旋转值的参数rotation=img2pdf.Rotation.ifvalid 或 --rotation=ifvalid。img2pdf 无法将图片按照指定大小添加到pdf中,会出现生成的pdf中每张图片都是原始图片的大小,但是可以使用其他库将图片统一修改成指定大小后再生成pdf,如和PIL库结合使用,调整图片大小或旋转图片等操作,生成新的图片后再添加到pdf中。
2024-12-11 14:03:43
622
原创 pdf转图片
安装依赖包特多,基本都会失败,使用镜像源安装:pip install python-office -i https://pypi.tuna.tsinghua.edu.cn/simple。PyMuPDF 还提供了丰富的功能来操作PDF文件,如读取、写入、分割、合并、旋转、裁剪等。此外,它还支持加密和解密PDF文档,以及提取文本、图像和元数据等信息。下载解压后将bin文件路径添加到环境变量path中,添加完成后命令行窗口输入pdftotext -v 可查看是否安装成功,安装成功后有版本信息。
2024-12-10 15:34:53
589
原创 python+docx+docx2python:多文件合并,提取docx文件文本、表格及图片数据
安装库:docx2python库支持快速提取文本内容和图片等数据,包含页眉页脚数据。
2024-12-05 16:11:48
383
原创 python+docx:(二)页眉页脚、表格操作
合并单元格,使用单元格对象的merge方法,起始单元格.merge(终止单元格对象)页眉页脚操作需要访问文件的section,可通过添加页脚来添加页码。支持追加的方式创建内容(.add_run())通过循环的方式合并某一行或某一列的操作。测试打印所有表格样式。官方预定义样式的取值。
2024-11-28 15:51:05
350
原创 python+docx:(一)页、标题、段落、图片操作
安装:pip install python-docx1、docx中设置尺寸width或height时,需要使用 Inches,Cm 【英寸、厘米】等才能生效,更多见docx.shared脚本库2、对齐方式:alignment,需要from docx.enum.text import WD_PARAGRAPH_ALIGNMENT3、Word 中一般可以结构化成三个部分:文档 Document、段落 Paragraph、文字块 Run。
2024-11-25 18:07:49
558
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人