访问由 python 复制到剪贴板的文本

Accessing text copied to clipboard by python

所以我希望能够使用 python 脚本复制文件夹的内容,然后能够将这些内容粘贴到我选择的位置,即文本文件、浏览器等。 . 我发现 this solution 用于将文本复制到剪贴板,但是当我实施此解决方案时,我无法粘贴任何内容。我正在使用 python 3.4。以下是我正在使用的代码:

import os 
import tkinter as tk
import tkinter.filedialog

r = tk.Tk()
r.withdraw()
photo_path= tkinter.filedialog.askdirectory(title='Which folder would you like to copy the contents from?', initialdir='/')

# Get list of filenames in current directory
file_list=[]

for filename in os.listdir(photo_path):
    if os.path.splitext(filename)[1]=='.JPG':
        file_list.append(os.path.splitext(filename)[0])
    else: pass

file_search='code:('+' OR '.join(file_list)+')'

r.clipboard_clear()
r.clipboard_append(file_search)
r.destroy()

How do I read text from the (windows) clipboard from python?

"Worth noting, in py34, win7, SetClipboardText did not work without a preceding call to EmptyClipboard"

import win32clipboard

# set clipboard data
win32clipboard.OpenClipboard()
win32clipboard.SetClipboardText('testing 123')
win32clipboard.CloseClipboard()

# get clipboard data
win32clipboard.OpenClipboard()
data = win32clipboard.GetClipboardData()
win32clipboard.CloseClipboard()
print data

如果您在脚本结束前不使用剪贴板内容,它将被丢弃。保留它 运行 直到您不再需要剪贴板内容。下面的程序将 '1234' 在剪贴板中保留 10 秒。如果您没有在这段时间内粘贴它,它就会丢失。如果您在这段时间内粘贴它,即使在程序结束后它也会保留在剪贴板中。

import tkinter as tk

r = tk.Tk()
r.withdraw()

r.clipboard_clear()
r.clipboard_append('1234')
r.after(10000, lambda: r.destroy())
r.mainloop()