我有一个python脚本,我想在计算机的剪贴板中放置一个字符串。我可以在Linux,Mac和以前使用cygwin的Windows中使用它。我必须修改一行代码才能使其在相应的系统中工作。
我无法将字符串复制到Windows 10 native Linux子系统上的剪贴板。
下面的行导致错误:sh:1:无法创建/dev/clipboard:权限被拒绝。知道如何修改此行吗?
os.system("echo hello world > /dev/clipboard")
最佳答案
要在Windows上获取剪贴板内容,可以使用 win32clipboard
:
import win32clipboard
win32clipboard.OpenClipboard()
cb = win32clipboard.GetClipboardData()
win32clipboard.CloseClipboard()
设置剪贴板:
win32clipboard.OpenClipboard()
# win32clipboard.EmptyClipboard() # uncomment to clear the cb before appending to it
win32clipboard.SetClipboardText("some text")
win32clipboard.CloseClipboard()
如果您需要一种可移植的方法,则可以使用
Tkinter
,即:from Tkinter import Tk
r = Tk()
r.withdraw()
# r.clipboard_clear() # uncomment to clear the cb before appending to it
# set clipboard
r.clipboard_append('add to clipboard')
# get clipboard
result = r.selection_get(selection = "CLIPBOARD")
r.destroy()
两种解决方案都证明可以在Windows 10上运行。最后一种可以在Mac,Linux和Windows上运行。