Python 复制文本到剪贴板
目录
目前(Python 3.8)为止,Python 并没有原生支持访问系统剪贴板。
搜寻出有几种方法,梳理如下:
使用系统 shell 命令
简单有效。但是并不适合复杂环境。
import os
# on macOS
def write_to_clipboard(text):
command = f"echo '{text}' | pbcopy"
os.system(command)
def read_from_clipboard():
command = "pbpaste"
return os.popen(command).read()
更多 Shell 命令参考:Shell use clipboard to copy and paste
Windows 系统参考此文章
第三方库
- pyperclip
简单易用,跨平台。只支持文字。
其实现方式也部分使用了执行 shell 命令的方式,并不足够优雅。
使用 GUI 库,通常都有支持操作剪贴板的功能。
平台 Kit 库
平台相关Kit库,完整支持剪贴板的各种操作。使用难度也更大。
on macOS
- pyobjc
参考:https://www.jianshu.com/p/7bd4e6ed99be - AppKit
Construct and manage a graphical, event-driven user interface for your macOS app.
相关文章:
- https://developer.apple.com/documentation/appkit/documents_data_and_pasteboard
- https://developer.apple.com/documentation/appkit/nspasteboard
- https://developer.apple.com/documentation/appkit/nspasteboard/pasteboardtype
- https://www.jianshu.com/p/7bd4e6ed99be
on Windows
相关文章: