python小项目:使用多剪贴板自动回复消息
使用多剪贴板自动回复消息
- 一、效果展示
- 二、实现步骤
- 2.1 编写python脚本
- 2.2 批处理脚本
- 2.3 运行脚本
- 三、用到知识
- 3.1 sys.argv
- 3.2 pyperclip
- 3.2.1 主要功能
- 3.2.2 跨平台支持
- 3.2.3 安装方法
- 3.2.4 基本用法
- 3.2.5 高级用法
- 3.2.6 注意事项
一、效果展示
说明:在windows终端输入 mclip agree,剪贴板中自动复制:Yes, I agree. That sounds fine to me. 当在终端输入 mclip busy,剪贴板中自动复制:Sorry, can we do this later this week or next week?
二、实现步骤
2.1 编写python脚本
#! python3
# mclip.py - A multi-clipboard program.
TEXT = {'agree': """Yes, I agree. That sounds fine to me.""",'busy': """Sorry, can we do this later this week or next week?""",'upsell': """Would you consider making this a monthly donation?"""}
import sys, pyperclip
if len(sys.argv) < 2:print('Usage: py mclip.py [keyphrase] - copy phrase text') sys.exit()
keyphrase = sys.argv[1]
# first command line arg is the keyphrase
if keyphrase in TEXT: pyperclip.copy(TEXT[keyphrase])print('Text for ' + keyphrase + ' copied to clipboard.')
else:print('There is no text for ' + keyphrase)
把上面脚本保持到指定目录下面,取名 mclip.py,我保存位置:D:\learning\python\test\mclip.py
2.2 批处理脚本
把下面批处理脚本保持到相应目录下面,取名 mclip.py,我就保存位置:C:\Users\39487\mclip.bat
@py.exe D:\learning\python\test\mclip.py %*
@pause
2.3 运行脚本
批处理文件,在Windows操作系统上运行多剪贴板程序,就只要按win-R快捷键,再输入mclip <关键字短语>即可,如下图:
三、用到知识
3.1 sys.argv
sys.argv 是 Python 中的一个列表(list),它包含了命令行参数。当你从命令行运行一个 Python 脚本时,sys.argv 会捕获所有传递给脚本的参数。这个列表的第一个元素(sys.argv[0])是脚本的名称,随后的元素是传递给脚本的其他参数。
要使用 sys.argv,首先需要导入 Python 的 sys 模块。下面是一个简单的例子来展示如何使用 sys.argv:
import sys# 打印传递给脚本的所有命令行参数
print("脚本名称:", sys.argv[0])
print("所有参数:")
for i in range(1, len(sys.argv)):print(i, sys.argv[i])
假设你将上述代码保存为 example.py,然后从命令行运行它,如下:
python example.py arg1 arg2 arg3
输出将会是:
脚本名称: example.py
所有参数:
1 arg1
2 arg2
3 arg3
这个例子展示了如何访问和使用命令行参数。在实际应用中,sys.argv 常用于脚本和命令行工具,允许用户通过命令行传递不同的选项或数据给脚本。
3.2 pyperclip
Pyperclip是一个跨平台的Python模块,它主要用于在Python程序中实现文本的复制和粘贴操作。以下是对Pyperclip的详细介绍:
3.2.1 主要功能
Pyperclip的主要功能是通过其提供的copy和paste函数来实现文本的复制和粘贴。具体来说:
copy函数:用于将指定的文本复制到系统剪贴板中。
paste函数:用于从系统剪贴板中获取文本。
3.2.2 跨平台支持
Pyperclip支持Windows、macOS和Linux等主流操作系统。在不同的操作系统上,Pyperclip会使用不同的命令或模块来实现文本的复制和粘贴操作。例如:
在Windows上,Pyperclip不需要额外的模块。
在macOS上,Pyperclip会使用pbcopy和pbpaste命令,这些命令通常随操作系统一起提供。
在Linux上,Pyperclip会使用xclip或xsel命令。如果这些命令没有随操作系统一起提供,用户可以通过运行sudo apt-get install xclip或sudo apt-get install xsel来安装它们(但请注意,xsel并不总是有效)。如果xclip和xsel都无法使用,用户可能需要安装gtk或pyqt4模块。
3.2.3 安装方法
要使用Pyperclip,首先需要将其安装到Python环境中。可以通过以下命令在命令行中使用pip进行安装:
pip install pyperclip
3.2.4 基本用法
以下是一些Pyperclip的基本用法示例:
- 复制文本到剪贴板:
import pyperclip
pyperclip.copy("Hello, World!")
这段代码会将字符串"Hello, World!"复制到剪贴板中,用户可以在其他应用中使用粘贴操作来粘贴这段文本。
- 从剪贴板中获取文本:
text = pyperclip.paste()
print(text)
这段代码会将剪贴板中的内容读取出来,并打印到控制台。
3.2.5 高级用法
除了基本用法外,Pyperclip还可以用于更复杂的场景,例如:
- 自动化批处理任务:在批处理任务中,Pyperclip可以用于自动将生成的结果保存到剪贴板。
- 自动化表格数据处理和格式转换:Pyperclip可以结合文本处理操作实现数据的格式化,将CSV表格内容从剪贴板中- - 读取、格式化处理后重新复制回剪贴板。
- 多个剪贴板项的缓存实现:虽然Pyperclip本身没有提供多项缓存的功能,但用户可以自己实现一个简单的缓存功能来存储多个剪贴板历史记录。
- 实现智能文本替换:在一些自动化任务中,可以结合Pyperclip和正则表达式进行文本的智能替换。
- 结合GUI框架实现多项剪贴板管理工具:借助tkinter等GUI框架,可以创建一个简单的GUI界面,方便用户选择和复制不同的剪贴板内容。
3.2.6 注意事项
- Pyperclip目前仅支持纯文本的复制和粘贴操作。
- 在某些Linux系统上,如果xclip和xsel都无法使用,可能需要安装额外的模块(如gtk或pyqt4)来支持Pyperclip的功能。
总的来说,Pyperclip是一个简单、高效且跨平台的Python模块,它使得Python脚本能够轻松地与用户的剪贴板进行交互。无论是自动化文本处理、快速笔记还是创建剪贴板历史记录等场景,Pyperclip都能为Python项目带来便利。
相关文章:
python小项目:使用多剪贴板自动回复消息
使用多剪贴板自动回复消息 一、效果展示二、实现步骤2.1 编写python脚本2.2 批处理脚本2.3 运行脚本 三、用到知识3.1 sys.argv3.2 pyperclip3.2.1 主要功能3.2.2 跨平台支持3.2.3 安装方法3.2.4 基本用法3.2.5 高级用法3.2.6 注意事项 一、效果展示 说明:在windows…...
http性能测试命令ab
华子目录 使用方法常用选项示例输出解读注意事项 在 Linux系统中, ab( ApacheBench)是一个用于 测试HTTP服务器性能的 工具。它是 Apache HTTP服务器项目的 一部分,专门设计用来模拟 多个用户对 服务器发起 并发请求&am…...
C 实现植物大战僵尸(四)
C 实现植物大战僵尸(四) C 实现植物大战僵尸,完结撒花(还有个音频稍卡顿的性能问题,待有空优化解决)。目前基本的功能模块已经搭建好了,感兴趣的友友可自行尝试编写后续游戏内容 因为 C 站不能…...
GitHub Fork 和 Clone 的深度指南:操作解析与 Pull Request 完整流程20241231
GitHub Fork 和 Clone 的深度指南:操作解析与 Pull Request 完整流程 快速导航 引言Fork 与 Clone 概念对比完整开发流程Pull Request 最佳实践常见问题与解决方案最佳实践建议实战案例 引言 在开发者的协作世界中,GitHub 就像一座桥梁,连…...
hypothesis testing
p 值、t 值、显著水平值的意义 在统计学中,p 值、t 值和显著水平值 ( α (\alpha (α)是常用的概念,用于判断研究数据是否支持某个假设。以下是它们的定义、意义和相互关系。 1. p 值 定义 p 值是指在假设原假设 ( H 0 H_0 H0) 为真的前提下&#x…...
解決當前IP地址僅適用於本地網路
想要解決“當前IP地址僅適用於本地網路”其實並不困難。本篇文章將介紹其發生的原因以及如何解決。 “僅限本地網路”是什麼意思? 當IP地址為“僅限本地網路”時,意味著設備正在使用私人網路內部IP地址,但無法連接到互聯網。如果將本地IP視…...
一个最简单的ios程序(object_c)的编写
前言 如何在苹果系统MacOS创建一个简单的ios(iphone)程序,貌似非常的简单。但是,作为习惯了Windows开发的程序员来说,有时候还觉得有点麻烦,至少开始有点很不习惯。 本博文试着把这个过程展现一下ÿ…...
HTML5实现好看的新年春节元旦网站源码
HTML5实现好看的新年春节元旦网站源码 前言一、设计来源1.1 主界面1.2 新年由来界面1.3 文章详细界面1.4 登录界面1.5 注册界面1.6 新年图册界面1.7 联系我们界面 二、效果和源码2.1 动态效果2.2 源代码 源码下载结束语 HTML5实现好看的新年春节元旦网站源码,春节新…...
NLP模型工程化部署
文章目录 一、理论-微服务、测试与GPU1)微服务架构2)代码测试3)GPU使用 二、实践-封装微服务,编写测试用例和脚本,并观察GPU1)微服务封装(RestFul和RPC)①RestFul接口②RPC接口 2)测试编写(unit…...
git时常混淆的操作的笔记
git时常混淆的操作的笔记 写在前面git rebase与merge的不同git am 与git apply的不同删除远端分支 写在前面 离开OS公司后,git的使用不再那么频繁。许多指令,时常忘记,这里作一点笔记。 git rebase与merge的不同 首先,这二者的…...
大模型WebUI:Gradio全解系列8——Additional Features:补充特性(上)
大模型WebUI:Gradio全解系列8——Additional Features:补充特性(上) 前言本篇摘要8. Additional Features:补充特性8.1 队列8.1.1 使用方法8.1.2 配置队列演示 8.2 输入输出流8.2.1 输出流1. 生成器yield2. 流媒体 8.2…...
vue3 Suspense组件
当等待数据的时间比开发人员希望的时间要长时在Vue3中无须自定义代码即可实现 只需要通过Suspense组件管理这一过程。 该组件除了可以给定默认加载数据后的渲染视图,还可以设置加载数据时的应急视图。 例如,在数据加载过程中,会先显示fall…...
Linux 内核调试
系列文章目录 Linux内核学习 QEMU 虚拟机 Linux 调试视频 近阶段补充知识 文章目录 系列文章目录一、WSL二、QEMU1、安装2、退出 三、构建根文件系统1、下载 BusyBox2、编译3、构建文件目录:Makefileinit 四、内核编译1、下载2、构建 五、调试1、GDB 命令调试2、VSC…...
【华为OD-E卷 - 机房布局 100分(python、java、c++、js、c)】
【华为OD-E卷 - 机房布局 100分(python、java、c、js、c)】 题目 小明正在规划一个大型数据中心机房,为了使得机柜上的机器都能正常满负荷工作,需要确保在每个机柜边上至少要有一个电箱。 为了简化题目,假设这个机房…...
Cursor小试1.生成一个网页的接口请求工具
一般开发过程中,会涉及到接口的调试,往往有时候开发的电脑不是我们自己的,没有安装一些类似postman 的接口调用工具,所以发现问题或者要测试某些接口是否正常的时候会很麻烦,而且现在网上也没有找到很好的免费的网页端接口请求的网址,所以我们使用Cursor来编写这样一个小工具, …...
免费的量化交易股票API有哪些局限性?
免费的量化交易股票 API 存在以下多方面的局限性: 功能限制 数据获取方面: 数据种类不完整:可能仅提供基本的行情数据,如开盘价、收盘价、最高价、最低价等,而深度行情数据(如买卖盘的详细挂单情况…...
leetcode之hot100---148排序链表(C++)
题目要求将一个无序的链表按照升序返回,涉及排序算法,下面对每个排序算法进行回顾 一、交换排序 1.冒泡排序 算法思想:反复比较相邻的两个元素,将它们中较大的(或较小的)元素逐步“冒泡”到数组的末尾。…...
Redis下载与安装
Redis下载与安装 注意:官网没有提供Windows版本,只有Linux版本。 GitHub下载地址: https://github.com/microsoftarchive/redis/releases 这里演示解压版的” Redis-x64-3.2.100.zip”,下载完毕后解压即可。 目录解析: 以管理员…...
TF-IDF(Term Frequency-Inverse Document Frequency)详解:原理和python实现(中英双语)
中文版 TF-IDF算法详解:理解与应用 TF-IDF(Term Frequency-Inverse Document Frequency)是信息检索与文本挖掘中常用的算法,广泛应用于搜索引擎、推荐系统以及各种文本分析领域。TF-IDF的核心思想是通过计算一个词在文档中的重要…...
论文研读:Text2Video-Zero 无需微调,仅改动<文生图模型>推理函数实现文生视频(Arxiv 2023-03-23)
论文名:Text2Video-Zero: Text-to-Image Diffusion Models are Zero-Shot Video Generators 1. 摘要 1.1 方法总结 通过潜空间插值, 实现动作连续帧。 以第一帧为锚定,替换原模型的self-attention,改为cross-attention 实现 保证图片整体场…...
.Net Core配置系统
目录 Json文件配置 读取配置原始方法 绑定读取配置 用法 传统Web.config配置的缺点为了兼容,仍然可以使用Web.config和ConifgurationManager类,但不推荐.NET中的配置系统支持丰富的配置源,包括文件(json、xml、ini等ÿ…...
互联网直播点播平台EasyDSS无人机视频推拉流技术实现工地远程监控巡检直播
在建筑行业,施工现场的安全管理和实时监控一直是项目管理中的重点。随着技术的进步,无人机工地直播技术成为了一种新兴的解决方案,它不仅能够提高施工透明度,还能够加强现场安全管理。EasyDSS作为一种先进的流媒体技术平台&#x…...
VirtualBox新版本报错 Invalid installation directory解决方案
最近需要使用到VirtualBox,但是下载最新的安装时发现如下Invalid installation directory,经过多番查找终于找到了解决问题方法,并进行了测试,现将解决办法附上 步骤一、将需要安装VirtualBox的目录下创建个目录 步骤二、使用cmd&…...
PY_11_01
前言 PY_11_01 抄就行了👻 一、代码步骤 抄就行了👻 def fact(n):if n1:return 1else:return n*fact(n-1)while True:minput(请输入一个正整数m:)if not m.isdigit() or int(m)0:print(输入错误,请重新输入!)else:mint(m)brea…...
golang syscall 三种加载DLL方式
1. syscall.MustLoadDLL() MustLoadDLL 是一种加载 DLL 的函数,它会在加载 DLL 时,如果发生错误,直接 panic。 错误处理:如果 DLL 加载失败,它会调用 panic,导致程序崩溃。dll : syscall.MustLoadDLL(&qu…...
Zabbix企业级分布式监控系统
第一章:监控概念及Zabbix部署 监控概述 对于监控系统在企业架构中不是新的技术,但却是必不可少的重要组成部分,所谓无监控,不运维! 监控系统可以帮助运维、开发、测试等人员及时的发现服务器出现的故障,…...
JetPack——Lifecycle
Lifecycle是什么? Lifecycle 是一个类,用于存储有关组件(如 activity 或 fragment)的生命周期状态的信息,并允许其他对象观测此状态 Lifeclcle解决什么问题? class GPS(private val context: Context,pr…...
本地小主机安装HomeAssistant开源智能家居平台打造个人AI管家
文章目录 前言1. 添加镜像源2. 部署HomeAssistant3. HA系统初始化配置4. HA系统添加智能设备4.1 添加已发现的设备4.2 添加HACS插件安装设备 5. 安装cpolar内网穿透5.1 配置HA公网地址 6. 配置固定公网地址 前言 大家好!今天我要向大家展示如何将一台迷你的香橙派Z…...
大模型Weekly 03|OpenAI o3发布;DeepSeek-V3上线即开源!
大模型Weekly 03|OpenAI o3发布;DeepSeek-V3上线即开源!DeepSeek-V3上线即开源;OpenAI 发布高级推理模型 o3https://mp.weixin.qq.com/s/9qU_zzIv9ibFdJZ5cTocOw?token47960959&langzh_CN 「青稞大模型Weekly」,持…...
【0379】Postgres内核 Walreceiver (libpqwalreceiver API)分析
文章目录 1. libpqwalreceiver API1.1 四个函数2. Walreceiver IPC3. Walsender IPC4. Walsender - walreceiver protocol1. libpqwalreceiver API walreceiver 中与传输相关的部分,其负责连接主服务器、接收 WAL 文件以及发送消息,是动态加载的,以避免主服务器的二进制文件…...
easybox
title: 解锁 EasyBox:智能运维的便捷之选 date: ‘2024-12-31’ category: blog tags: EasyBox智能运维效率提升自动化运维 sig: memsafety archives: ‘2024-12’ author:way_back summary: EasyBox 作为一款智能运维工具,以其简洁高效的特性ÿ…...
Prompt工程--AI开发--可置顶粘贴小工具
PROMPT 1.背景要求:我需要开发一个简单的粘贴小工具,用于方便地粘贴和管理文本内容。该工具需要具备以下功能:粘贴功能:提供一个文本框,用户可以粘贴内容。窗口置顶:支持窗口置顶功能,确保窗口…...
【AI日记】24.12.31 kaggle 比赛 2-19
【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】 工作 参加:kaggle 比赛 Regression with an Insurance Dataset时间:9 小时 读书 书名:论婚姻与道德时间:1.5 小时 律己 工作时间:良作息&#x…...
jenkins集成工具(一)部署php项目
目录 什么是CI 、CD Jenkins集成工具 一、Jenkins介绍 二、jenkins的安装和部署 环境部署 安装jenkins 安装gitlab 配置镜像源进行安装 修改密码 安装git工具 上传测试代码 Jenkins部署php项目wordpress 发布php代码 安装插件 测试代码发布 实现发布成功发送邮件…...
ubuntu 使用samba与windows共享文件[注意权限配置]
在Ubuntu上使用Samba服务与Windows系统共享文件,需要正确配置Samba服务以及相应的权限。以下是详细的步骤: 安装Samba 首先,确保你的Ubuntu系统上安装了Samba服务。 sudo apt update sudo apt install samba配置Samba 安装完成后,…...
【GridView渐进全解】第四部分GridView分页进阶
目录 一、启用分页 二、修改GridView分页模板 1.进入控件模板修改视图: 2.进入页码模板(PagerTemplate)视图 3.添加导航按钮控件 4.修改导航控件属性 三、输入页号跳转 1.进入页码模板视图 2.添加文本框及按钮控件 3.编写代码 【接…...
K8s集群平滑升级(Smooth Upgrade of K8S Cluster)
简介: Kubernetes (简称K8s)是一个开源的容器编排和管理平台,由Google开发并维护。它最初是为了解决谷歌内部大规模容器管理的问题而设计的,后来在2014年开源,成为云原生技术的核心组成部分。1 K8…...
HarmonyOS-面试整理
目录 为什么选择HarmonyOS/ 优点/特点鸿蒙系统的权限有哪些说一说鸿蒙系统的安全机制说一说鸿蒙系统的微内核与安卓的内核区别鸿蒙操作系统的微内核架构有哪些优势分布式能力在鸿蒙系统中如何实现请解释一下鸿蒙系统中的分布式软总线技术如何在鸿蒙操作系统中进行多设备协同开发…...
基于编程语言的知识图谱表示增强大模型推理能力研究,一种提升LLM推理准确率达91.5%的结构化数据方法
基于编程语言的知识图谱表示增强大模型推理能力研究,一种提升LLM推理准确率达91.5%的结构化数据方法 理解数据分析全流程提问问题:知识的表示方式如何影响模型的推理能力?问题:为什么编程语言会是一个更好的知识表示选择ÿ…...
【北京迅为】iTOP-4412全能版使用手册-第七十章 Linux内核移植
iTOP-4412全能版采用四核Cortex-A9,主频为1.4GHz-1.6GHz,配备S5M8767 电源管理,集成USB HUB,选用高品质板对板连接器稳定可靠,大厂生产,做工精良。接口一应俱全,开发更简单,搭载全网通4G、支持WIFI、蓝牙、…...
使用 ASP.NET Core wwwroot 上传和存储文件
在 ASP.NET Core 应用程序中上传和存储文件是用户个人资料、产品目录等功能的常见要求。本指南将解释使用wwwroot存储图像(可用于文件)的过程以及如何在应用程序中处理图像上传。 步骤 1:设置项目环境 确保您的 ASP.NET 项目中具有必要的依…...
什么是 Azure OpenAI ?了解微软 Azure OpenAI 和 OpenAI 的关系
一、什么是Azure OpenAI ? 微软已与 OpenAI 合作以实现三个主要目标: ⦿利用 Azure 的基础结构(包括安全性、合规性和区域可用性),帮助用户构建企业级应用程序。 ⦿在微软产品(包括 Azure AI 产品以及以外…...
Flink CDC 自定义函数处理 SQLServer XML类型数据 映射 doris json字段方案
Flink CDC 自定义函数处理 SQLServer XML类型数据方案 1. 背景 因业务使用SQLServer数据库,CDC同步到doris 数仓。对于SQLServer xml类型,doris没有相应的字段对应, 可以使用json来存储xml数据。需要进行一步转换。从 flink 自定义函数入手…...
导致启动nacos报错Caused by: java.lang.IllegalStateException: No DataSource set 的两种原因
Java资深小白,不足之处,或者有任何错误欢迎指出。 --蓝紫报错代码如下: C:\Windows\System32>cd D:\nacos-server-2.2.3\nacos\binC:\Windows\System32>d:D:\nacos-server-2.2.3\nacos\bin>startup.cmd -m standalone "nacos is starting…...
mysql乱码、mysql数据中文问号
网上排出此错误方法的很多,但是 都不简洁,找不到根本原因 主要排查两点: 1.代码中jdbc链接的编码规则 urljdbc:mysql://localhost:3306/title?useUnicodetrue&characterEncodingutf8 将characterEncoding设置为utf8 2.设置mysq…...
python RAG 管道
RAG(RetrievalAugmented Generation)管道是一种结合了信息检索(Retrieval)和文本生成(Generation)的技术框架,主要用于生成高质量、基于事实的文本。它通过从外部知识源(如文档、数据…...
018-spring-基于aop的事务控制
1 先配置平台事务管理器 2 在配置 spring提供的advice 3 事务增强的aop 总结: 事务就是要做2个配置: <!-- 1 开启事务管理器 不同的框架对应不同的事务管理器 --> <bean id"transactionManager" class"org.springframework.j…...
HTML 轮播图(Carousel)详细讲解
HTML 轮播图(Carousel)详细讲解 轮播图(Carousel)是一种常见的用户界面组件,用于在同一位置展示多个图像或内容,允许用户通过滑动或自动播放的方式查看不同的内容。它通常用于展示产品、图片、广告等。 1…...
计算机网络-数据链路层(ppp协议)
2.2 ppp协议 点对点协议ppp是目前使用最广泛的点对点数据链路层协议。 2.3 媒体接入控制基本概念 共享信道要着重考虑的一个问题就是如何协调多个发送和接收站点对一个共享传输媒体的占用,即媒体接入控制MAC。 2.3.1 静态划分信道 频分复用 时分复用 波分复用 码分复…...
如何优化Python网络爬虫的数据清洗流程,以提升数据质量并有效应对网站反爬虫机制?
优化爬虫数据清洗流程,应对反爬虫机制 一、数据清洗的重要性 在网络爬虫中,数据清洗是关键环节。打个比方,我们从网页抓取到的原始数据就像一堆杂乱的杂物,里面有各种格式、错误和重复信息。比如抓取到的文本可能包含HTML标签、…...