在使用 Kindle PC 软件看英文电子书时,常常会配合 CopyTranslator 软件做剪切板内容翻译,但是最近发现 Kindle PC 在复制内容时,会在剪切板中自动附加上书籍的内容,就像下面这样
There’s nothing wrong with pursuing venture funding and attempting to grow fast like eBay
Walling, Rob; Taber, Mike. Start Small, Stay Small: A Developer's Guide to Launching a Startup (Kindle位置28). The Numa Group, LLC. Kindle 版本.
上面的内容,第一行是我要复制的内容,Walling, Rob; Taber, Mike. Start Small, Stay Small: A Developer's Guide to Launching a Startup (Kindle位置28). The Numa Group, LLC. Kindle 版本.
是Kindle PC自动附加的书籍信息内容,这一点很烦人。
要解决这个问题其实很简单,只要监控剪切板变化时,将剪切板中的字符串,去掉自动附加的内容,然后将新的字符串替换回剪切板即可。接下来我们使用Python来做这件事情,代码只需要很少几行即可。
import pyperclip
import time
last_string = pyperclip.paste()
# 要删除的字符串
clear_str = "Walling, Rob; Taber, Mike. Start Small, Stay Small: \
A Developer's Guide to Launching a Startup"
while True:
time.sleep(0.02)
string = pyperclip.paste()
# 当剪切板内容变化时
if string != last_string and string != '':
# 查找字符串是否包含要删除的字符串
clear_index = string.find(clear_str)
# 如果字符串包含要删除的字符串,则截取之前的内容
if clear_index >= 0:
string = string[0:clear_index]
# 将新的字符串替换回剪切板
pyperclip.copy(string)
print(string)
last_string = string
注意,上面用到 了
pyperclip
这个库,在运行前需要使用命令pip3 install pyperclip
来安装一下。
将代码保存为 clip.py
,然后运行脚本,python3 clip.py
。接下来再在Kindle PC软件中复制内容,就会实时去掉它自动附加的内容。注意要将代码中 clear_str
替换为你所看的电子书,被自动附加的内容。
下面是原始的效果
下面是使用脚本后的效果
平时遇到的一些小问题时,可以想一下是否可以使用一小段代码解决一下,或许很简单。