python - Windows 10 Linux 子系统 - Python - 字符串到计算机剪贴板

标签 python windows clipboard

我有一个 python 脚本,我想在计算机的剪贴板中放置一个字符串。我在 Linux、Mac 和以前使用 cygwin 在 Windows 中工作。我不得不修改一行代码以使其在各自的系统中工作。 我无法将字符串复制到 Windows 10 的 native 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 上运行。

关于python - Windows 10 Linux 子系统 - Python - 字符串到计算机剪贴板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44145667/

相关文章:

python - 带有参数的python sqlite3 cursor.execute()导致语法错误? (paramstyle qmark)

python - 如何使用 map 将字典中的字符串小写?

C - Windows 和 Unix 上的可移植代码

windows - 包刷新内容卡在联系主机 : elpa. gnu.org:80

C# WPF Clipboard.SetText() 无法正常工作

javascript - 在 Chrome 浏览器中使用 Java 脚本将 anchor 标记从 HTML 页面复制到剪贴板

python - 求一个多项式以另一个系数在有限域中的多项式为模的倒数(倒数)

c++ - 句柄的 Win API 包装器类

c# - 如何从任何 Windows 应用程序(第二个剪贴板)复制和粘贴文本

python - 在 OS X 上将 MacPorts 安装的 Python 包与 Enthought(或其他一些)Python 一起使用?