掌握计算机自动化:Pyperclip与CnOCR详细教程(最全使用方法,每行代码都有注释,帮你解决与之有关的所有问题)

简介: 掌握计算机自动化:Pyperclip与CnOCR详细教程(最全使用方法,每行代码都有注释,帮你解决与之有关的所有问题)

在这个信息化快速发展的时代,高效的信息处理变得尤为关键。Python,作为一门强大的编程语言,其灵活性以及多样的库函数,使其成为处理信息不可或缺的利器。在此背景下,我决定分享我对其中两个实用Python库——Pyperclip和CnOCR的理解和使用,以帮助大家在日常工作和学习中提高效率。

首先,我们将会详细探讨Pyperclip,这是一个简洁高效的跨平台剪贴板库,让我们可以轻松地在Python代码和系统剪贴板之间传输文本数据。随后,我们将介绍OCR技术及其在Python中的应用,尤其是CnOCR库的强大功能,它使我们能够从各种类型的图像中识别出文字信息。

希望通过我的分享,你们可以发现Python更多的可能性,并将其应用到创造性和生产性工作中。让我们一起开启这一串联计算机视觉与自动化办公的探索之旅吧!

一、Pyperclip概念

Pyperclip 是一个用于复制和粘贴文本的 Python 库。它允许用户在剪贴板之间传输数据,并支持多种数据类型,如文本、二进制数据等。Pyperclip 可以在 Windows、macOS 和 Linux 等操作系统上使用,并且具有跨平台兼容性。 使用 Pyperclip,你可以轻松地将文本从屏幕上复制到剪贴板,或将文本从剪贴板粘贴到屏幕上。

要使用Pyperclip,请在控制台输入以下指令:

pip install pyperclip

二、Pyperclip基础语法

#copy:将文本复制到剪贴板
pc.copy("Hello World")
pc.copy("你好")
#paste:从剪贴板获取文本
pc.copy("你好")
re_copy = pc.paste()
print(re_copy)

三、Pyperclip与文件交互

本文展示了两种文件展开方式:

#与文件交互,从剪切板上获取内容,写到文件中
f=open("E:\测试.txt","w",encoding="utf-8")
f.write(pc.paste())
#与文件交互,从文件上获取内容,写到剪切版中
with open("test.txt","r",encoding="utf-8") as f:
    pc.copy(f.read())
    print(pc.paste())

四、Pyperclip生成随机密码

#生成随机密码
import random
#popuration:从总体中随机抽取一个样本
#k:从总体中随机抽取k个样本
re_password = "".join(random.sample("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",8))
pc.copy(re_password)
print(re_password)

五、OCR概念

OCR(Optical Character Recognition,光学字符识别)是一种通过计算机分析扫描得到的图像以识别汉字、英文和数字等字符的技术。OCR 技术被广泛应用于金融、教育、安防等领域。

本专栏选用CoOCR

官网:https://cnocr.readthedocs.io/zh/latest/

六、CnOCR 基础识别

# 导入CnOcr类
from cnocr import CnOcr
# 设置图像路径
img_fp=r"E:\b.webp"
# 创建CnOcr对象
ocr = CnOcr()
# 读取图像
out = ocr.ocr(img_fp)
print(out)
#返回列表类型[{},{}]

七、CnOCR 不同图片识别

#单排文字图片识别
img_fp=r"E:\b.webp"
ocr = CnOcr()
out = ocr.ocr(img_fp)
for line in out:
    print(line)
#多排简单文字图片识别
img_fp=r"E:\simple2.png"
ocr = CnOcr(det_model_name='naive_det')
out = ocr.ocr(img_fp, cls=True)
print(out)
#竖排文字图片识别
img_fp=r"E:\vertical.jpg"
ocr = CnOcr(rec_model_name='ch_PP-OCRv3')
out = ocr.ocr(img_fp, cls=True)
print(out)
#多行文字图片识别
img_fp=r"E:\multi.jpg"
ocr = CnOcr(rec_model_name='ch_PP-OCRv3')
out = ocr.ocr(img_fp, cls=True)
print(out)
#繁体字识别
img_fp=r"E:\繁体字.jpg"
ocr = CnOcr(rec_model_name='ch_PP-OCRv3')
out = ocr.ocr(img_fp, cls=True)
print(out)
#英文识别
img_fp=r"E:\en.jpg"
ocr = CnOcr(rec_model_name='‘en_gpr_server_v2.0’')
out = ocr.ocr(img_fp, cls=True)
print(out)
#多语言识别
img_fp=r"E:\multi_language.jpg"
ocr = CnOcr(rec_model_name='multi_language_lite_train')
out = ocr.ocr(img_fp, cls=True)
print(out)

相关文章
|
16天前
|
Java 测试技术 Python
《手把手教你》系列基础篇(八十)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试-番外篇(详解教程)
【6月更文挑战第21天】本文介绍了TestNG中测试方法的依赖执行顺序。作者通过一个实际的自动化测试场景展示了如何设计测试用例:依次打开百度、搜索“selenium”、再搜索“selenium+java”。代码示例中,`@Test`注解的`dependsOnMethods`属性用于指定方法间的依赖,确保执行顺序。如果不设置依赖,TestNG会按方法名首字母排序执行。通过运行代码,验证了依赖关系的正确性。
38 4
|
3天前
|
XML 测试技术 数据格式
《手把手教你》系列基础篇(八十五)-java+ selenium自动化测试-框架设计基础-TestNG自定义日志-下篇(详解教程)
【7月更文挑战第3天】TestNG教程展示了如何自定义日志记录。首先创建一个名为`TestLog`的测试类,包含3个测试方法,其中一个故意失败以展示日志。使用`Assert.assertTrue`和`Reporter.log`来记录信息。接着创建`CustomReporter`类,继承`TestListenerAdapter`,覆盖`onTestFailure`, `onTestSkipped`, 和 `onTestSuccess`,在这些方法中自定义日志输出。
21 6
|
3天前
|
Java 测试技术 Apache
《手把手教你》系列基础篇(八十六)-java+ selenium自动化测试-框架设计基础-Log4j实现日志输出(详解教程)
【7月更文挑战第4天】Apache Log4j 是一个广泛使用的 Java 日志框架,它允许开发者控制日志信息的输出目的地、格式和级别。Log4j 包含三个主要组件:Loggers(记录器)负责生成日志信息,Appenders(输出源)确定日志输出的位置(如控制台、文件、数据库等),而 Layouts(布局)则控制日志信息的格式。通过配置 Log4j,可以灵活地定制日志记录行为。
18 4
|
13天前
|
Java 测试技术 Python
《手把手教你》系列基础篇(八十一)-java+ selenium自动化测试-框架设计基础-TestNG如何暂停执行一些case(详解教程)
【6月更文挑战第22天】本文介绍了如何在TestNG中不执行特定测试用例。当部分模块未准备好时,可以通过以下方式暂停测试:③使用`@Test(enabled=false)`注解来禁用测试用例。作者提供了一个Java Selenium自动化测试的示例,展示如何通过修改`enabled`参数控制测试方法的执行。代码中,`testSearch2()`方法被禁用,因此在测试运行时不执行。文章还包含了测试报告和执行过程的截图。
39 7
|
11天前
|
JSON JavaScript 测试技术
全网最全httpruner自动化测试教程 全是干货
全网最全httpruner自动化测试教程 全是干货
|
17天前
|
Java 测试技术 Python
《手把手教你》系列基础篇(七十九)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试-下篇(详解教程)
【6月更文挑战第20天】TestNG是一个Java测试框架,提供两种测试方法依赖机制:强依赖(所有前置方法成功后才运行)和弱依赖(即使前置方法失败,后置方法仍运行)。文中通过代码示例展示了这两种依赖如何实现,并解释了当依赖方法失败时,如何影响后续方法的执行。文章还包含了TestNG Suite的运行结果截图来辅助说明。
33 8
|
13天前
|
XML Java 测试技术
《手把手教你》系列基础篇(八十二)-java+ selenium自动化测试-框架设计基础-TestNG测试报告-上篇(详解教程)
【6月更文挑战第23天】TestNG 是一个用于自动化测试的 Java 框架,它自动生成测试报告,包括 HTML 和 XML 格式。报告可在 `test-output` 文件夹中找到。要创建测试用例,可创建一个实现了 `@Test` 注解的方法。通过 `testng.xml` 配置文件来组织和执行测试。默认报告包括测试结果、失败点和原因。用户还能实现 `ITestListener` 和 `IReporter` 接口来自定义报告和记录器。
28 2
|
18天前
|
XML Web App开发 测试技术
《手把手教你》系列基础篇(七十八)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试- 中篇(详解教程)
【6月更文挑战第19天】本文介绍了使用TestNG框架配置XML文件来管理测试用例的分组和依赖关系。
39 2
|
4天前
|
Java 测试技术 Android开发
《手把手教你》系列基础篇(八十四)-java+ selenium自动化测试-框架设计基础-TestNG日志-上篇(详解教程
【7月更文挑战第2天】TestNG是一个用于自动化测试的Java框架,提供日志记录功能。日志有两种模式:底层级详细记录每个步骤,高层级仅记录关键事件。示例代码展示了如何在测试方法中使用`Reporter.log()`记录信息,这些信息会显示在TestNG HTML报告中。文章还提及了日志显示时可能出现的编码问题及解决办法。
|
6天前
|
XML 测试技术 数据格式
《手把手教你》系列基础篇(八十三)-java+ selenium自动化测试-框架设计基础-TestNG测试报告-下篇(详解教程)
【7月更文挑战第1天】使用TestNG自定义报告的简要说明: - TestNG提供默认的HTML和XML报告,但可通过实现IReporter接口创建自定义报告。 - 自定义报告器类需扩展`CustomReporter.java`,实现`generateReport()`方法,接收XML套房、测试结果及输出目录作为参数。
17 0