Windows 10 Linux 子系统 - Python - 字符串到计算机剪贴板
Windows 10 Linux subsystem - Python - String to computer clipboard
我有一个 python 脚本,我想在其中将一个字符串放入计算机的剪贴板中。我在 Linux、Mac 和之前在 Windows 中使用 cygwin 工作。我不得不修改一行代码以使其在各自的系统中工作。
我无法将字符串复制到 Windows 10 的本机 Linux 子系统上的剪贴板。
下面的行导致错误:sh: 1: cannot create /dev/clipboard: Permission denied。知道如何修改这一行吗?
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。
还有 pyperclip 库。我在几个工具中使用了它,它的工作非常简单。
这是一个库
**pip install clipboard**
import clipboard
clipboard.copy("abc") # now the clipboard content will be string "abc"
text = clipboard.paste() # text will have the content of clipboard
我有一个 python 脚本,我想在其中将一个字符串放入计算机的剪贴板中。我在 Linux、Mac 和之前在 Windows 中使用 cygwin 工作。我不得不修改一行代码以使其在各自的系统中工作。 我无法将字符串复制到 Windows 10 的本机 Linux 子系统上的剪贴板。 下面的行导致错误:sh: 1: cannot create /dev/clipboard: Permission denied。知道如何修改这一行吗?
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。
还有 pyperclip 库。我在几个工具中使用了它,它的工作非常简单。
这是一个库
**pip install clipboard**
import clipboard
clipboard.copy("abc") # now the clipboard content will be string "abc"
text = clipboard.paste() # text will have the content of clipboard