python实现剪贴板的操作
作者:ななみ けんと 发布时间:2021-09-06 08:46:16
在回程的高铁上学习了这一节,由于对cmd命令行的相关知识所知甚少,只能自己一步步试验得出正确的方法,因此耗费了不少时间。这一篇博客也就当作是备忘吧。
首先说一下想要实现的功能:
通过输入一个命令行参数,实现将特定的一些文本复制到剪贴板的操作。(这个程序或许可以与其他的一些操作相结合,来实现自动回复,只是本人现阶段的能力还不足以实现这样的功能。)
再来看一下具体的步骤和几个需要注意的事项:
1.在python文件开头要加上‘#! python3',有关于#!的具体含义,详见文后链接。
2.创建批处理文件(.bat)的说明:
先创建一个文本文档(.txt),在其中写入如下内容:
@py.exe (有空格!)将要创建的文件的绝对路径,如E:\Python\clipboard_copy (又有空格!)%*
@pause
在使用任何命令行时,千万千万要注意空格!由于命令行中的参数是以空格来划分的,任何非必要的空格都可能引起系统的误解因此在文件路径中绝对不要出现空格,可统一用下划线来替换(平时编程时一定要养成良好的文件命名习惯啊),还有就是最好也不要在文件名中出现中文,具体是不是因为编码的原因我还没有测试过,不过既然会带来麻烦,那就还是用英文吧(正好提升一下英语水平)。
接下来将文本文件另存为.bat文件格式,详情见下图:
在文本文档界面选择另存为(ctrl+shift+S),注意不仅要将文件后缀改成.bat,还要在保存类型中选择“所有文件”类型 ;
保存好批处理文件之后,将其移动到C:\Windows目录下(或者是其他任何一个已经设置为环境变量的路径均可)。
3.python文件中具体代码:
#! python3
#TEXT中是你想要复制到剪贴板上的内容和访问他们的关键字组成的字典
TEXT = {'忙': "您好,您所拨打的用户正忙,如需对方回电,请留言:",
'busy': "Sorry, I'm busy now.",
'社会主义核心价值观': "富强民主文明和谐\n自由平等公 * 治\n爱国敬业诚信友善"}
import sys, pyperclip
if len(sys.argv) < 2: #此时argv中除了文件名之外没有传入其他参数
print("Sorry, no input has been received yet…")
sys.exit()
keyphrase = sys.argv[1]
if keyphrase in TEXT:
pyperclip.copy(TEXT[keyphrase])
print("The text " + TEXT[keyphrase] + " is copied to the clipboard")
else:
print("There is no such text")
在剪贴的内容和所使用的关键字中是可以出现中文的 。
4.使用方法:
按下win+R,打开cmd命令窗口,直接在其中输入mclip(这个是我的文件名,实际情况由自己的文件名决定) (空格!)TEXT中指令,就会发现所需要的内容已经被复制到了剪贴板上。
相关链接:
#! 的作用原理
来源:https://blog.csdn.net/NanamiKento/article/details/118370187


猜你喜欢
- 在Web开发中,JavaScript的一个很重要的作用就是对DOM进行操作,可你知道么?对DOM的操作是非常昂贵的,因为这会导致浏览器执行回
- 微信小程序 scroll-view实现上拉加载与下拉刷新的实例实现效果图:如图,使用小程序的scroll-view实现的上拉加载数据,下拉刷
- 下载tensorflow的代码地址:https://github.com/tensorflow/models.git然后进入目录:cd mo
- 前言:如果大家接触过数据分析,那么大家可能都知道,最让人头疼的就是在数据录入的过程中,不可避免的会产生重复值,缺失值和异常值了,python
- (一)、tf.train.Saver()(1). tf.train.Saver() 是用来保存tensorflow训练模型的,默认保存全部参
- 我们调试Javascript一般会用到Chrome或Firefox自带的调试工具,本文列出了几条用于调试Javascript的技巧,掌握它们
- 在线文本去重复工具第一种方法:<textarea id="list" class="toolarea&q
- 网页广告 Banner 设计图文手册:采用以下要点来改善你的BANNER。广告并不便宜。 确信你的广告被第一时间读到。使用像这样的Sans
- 需求说明:在开发 vue 项目的过程中遇到的需求是要把 api 接口前缀暴露在命令行,通过 npm run build apiUrl 即可修
- 本文实例讲述了Python实现将目录中TXT合并成一个大TXT文件的方法。分享给大家供大家参考。具体如下:在网上下了一个dota的英雄攻略,
- 版本:MySQL-5.7.32前言:对于业务繁忙的数据库来说,在运行了一定时间后,往往会产生一些数据量较大的表,特别是对于每天新增数据较多的
- 一、触发器简介1、什么是触发器?触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。2、触发器的特性有begi
- 1. 简介本文介绍使用sync.Once来实现单例模式,包括单例模式的定义,以及使用sync.Once实现单例模式的示例,同时也比较了其他单
- 在oracle数据库的开发中,常因为时间的问题大费周章,所以特地将ORACLE数据的日期函数收藏致此。乃供他日所查也。 add_months
- 前言还是最近在做的一个小项目,后端用的是Django搭配RestFramework做接口,前端第一次尝试用京东开源的Taro框架来做多端(目
- 关于axios的封装下面代码参考了 vue-element-admin 中的封装方式,request.js 文件如下,封装一个 axios
- 1. 数据库的概念1.1 数据库(Database)是统一管理的相关数据的集合。长期存储在计算机内,有结构的、集成的、可共享的、统一管理的数
- 在mysql的启动过程中有时会遇到下述错误Can't connect to local MySQL server through s
- ipad的goodreader对JS文件支持不太好,虽然可以读取它但总是无法退出,回不了goodreader的主界面,因此我需要把js文件批
- 两种方式:1.IP+SID方式 2.配置链接方式1..IP+SID方式DbHelperOracle.connectionString = s