博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【python实战系列】多重剪切板(三)
阅读量:2055 次
发布时间:2019-04-28

本文共 1580 字,大约阅读时间需要 5 分钟。

2020年是个不幸的一年,由于疫情,各种事情都遭到了延迟,复工、开学似乎成为了一种愿望。各大企业为了降低风险,都纷纷出现了裁人、降薪的现象。大量人员在家中待业,入不敷出,还面临着房贷车贷的压力。在这里也真心希望,疫情早点过去,还我们一个纯净的世界。

    由于疫情,我的一个朋友小浩都差点延期毕业了,不过还好,由于疫情相关政策的调整,他现在可以在家进行远程答辩,避免了延迟答辩的尴尬。

 

     不过他最近也挺烦恼的,由于毕业又没有延期了,论文也要加紧地赶进度,不然可就真的要延期毕业了。

 

     由于需要抓紧写论文,他时不时就忘记一些东西,例如,论文有些部分需要引用很多文献, 需要在网上大量地查找对应的文献资料,导致他都分不清 哪段话 是需要引用 哪些文献 了。

 

    他之前就知道我是学计算机的,于是马上一通求助电话就打过来了。听他诉说完之后,也让我想起了我那段写论文的悲催时光。于是我决定帮他一把。

 

先思考一下,如何才能解决这个问题:我们可以将引用论文的标题和对应的内容形成一个键值对的形式存储起来,论文的标题作为key,对应的内容作为value。当需要时,只需要输入论文的标题,就可以找到对应的内容进行引用。

 

这时我想到可以用刚学到的shelve模块来进行存储,用pyperclip来复制需要的内容。然后通过传入不同的key,就能将需要的内容复制到剪贴板上。

 

话不多说,实战一波,贴下代码:

import shelve, pyperclip, sys# 获取存储的内容,不存在就进行创建  .代表当前目录,你也可以用绝对路径:# 例如: F:\\db\\mcbmcpShelve = shelve.open('.\\db\\mcb')# 保存剪切板的内容if len(sys.argv) == 3 and sys.argv[1].lower() == 'save':    mcpShelve[sys.argv[2]] = pyperclip.paste()elif len(sys.argv) == 2:    # 列出关键字并加载内容    if sys.argv[1].lower() == 'list':        print(str(list(mcpShelve.keys())))    elif sys.argv[1] in mcpShelve:        pyperclip.copy(mcpShelve[sys.argv[1]])else:    print(pyperclip.paste())mcpShelve.close()

 

接下来我们来实操一波:

首先使用cmd命令进入到程序的目录,例如我的程序是放到F:\\test 目录下

然后复制你存储的内容

然后输入命令将数据保存

py mcb.py save 静夜思

 

这样我们就将数据存储下来了,如果后续需要使用,我们可以使用:

py mcb.py 静夜思

将对应数据存储到剪切板中。

 

我们使用上面程序,再存储一首  春江花月夜:

 

 

接下来我们来获取数据,如果不记得存的标题是什么了,可以使用:

py mcb.py list

来查看所有标题。

 

例如我们想看到静夜思的内容,可以输入:

py mcb.py 静夜思

我们把获取的内容粘贴出来:

 

然后我们再获取 春江花月夜  的内容:

py mcb.py 春江花月夜

 

这样小浩同学的困扰也就解决了,他妈妈再也不用担心他的论文写不好了。

 

 

这个程序也有很多的不足,例如没有一个操作的界面。导致操作起来比较复杂,在这里我推荐一个好用的软件KeePass ,就是这个程序的升华版本,很多企业也在使用它,一般是用来保存密码,而且很安全。

 

好了,我要去想小浩同学讨要报酬了,明天见!!!

 

喜欢本文的话,可以关注以下公众号,每天定时更新一篇python学习日记,让我们一起成长!

转载地址:http://danlf.baihongyu.com/

你可能感兴趣的文章
linux基本命令
查看>>
BlockQueue 生产消费 不需要判断阻塞唤醒条件
查看>>
ExecutorService 线程池 newFixedThreadPool newSingleThreadExecutor newCachedThreadPool
查看>>
强引用 软引用 弱引用 虚引用
查看>>
数据类型 java转换
查看>>
"NetworkError: 400 Bad Request - http://172.16.47.117:8088/rhip/**/####t/approval?date=976
查看>>
mybatis 根据 数据库表 自动生成 实体
查看>>
win10将IE11兼容ie10
查看>>
checkbox设置字体颜色
查看>>
第一篇 HelloWorld.java重新学起
查看>>
ORACLE表空间扩张
查看>>
orcal 循环执行sql
查看>>
web.xml配置监听器,加载数据库信息配置文件ServletContextListener
查看>>
结构型模式之桥接模式(Bridge)
查看>>
行为型模式之状态模式(State)
查看>>
行为型模式之策略模式(Strategy)
查看>>
行为型模式之模板方法模式(TemplateMethod)
查看>>
行为型模式之访问者模式(Visitor)
查看>>
大小端详解
查看>>
source insight使用方法简介
查看>>