我想在txt中创建本地副本(ctrl + c)历史记录,但在输出中我不断获取重复条目。
我的代码:
import keyboard
import win32clipboard
print('Waiting Ctrl+C\n')
while True
if keyboard.is_pressed('ctrl+c'):
win32clipboard.OpenClipboard()
data = win32clipboard.GetClipboardData()
a = open('E:\Python\copyhistory.txt', 'a')
a.write(data) # text
a.close()
win32clipboard.CloseClipboard()
print('printed')
输出变得很复杂。我也试过pyperclip,但这也没有帮助。 同样的问题也存在于pyperclip中。
Pyperclip示例如下:
import pyperclip
import keyboard
while True:
if keyboard.is_pressed('ctrl+c'):
a = pyperclip.paste()
print(a)
代码1的终端输出: 等待Ctrl + C. 印刷的 然后是40行"打印"
与pyperclip相同,代码2与pyperclip输出超过700行相同的输出,输出应该打印一次。
我在这里做错了,有什么想法吗?
答案 0 :(得分:0)
由于key_down和key_up之间的延迟而出现问题。通过读取key_down或key_up可以防止这种情况。
我试过怎么做,但这对我来说已经死路一条,所以我决定在剪贴板中使用差异的输出。