python获取剪切板内容_如何从python中读取(windows)剪贴板中的文本?
如何从python中读取(windows)剪贴板中的文本?
如何从python中读取(windows)剪贴板中的文本?
Foo42 asked 2019-06-22T21:38:33Z
10个解决方案
77 votes
您可以使用名为win32clipboard的模块,它是pywin32的一部分。
这是一个首先设置剪贴板数据然后获取它的示例:
import win32clipboard
# set clipboard data
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()
win32clipboard.SetClipboardText('testing 123')
win32clipboard.CloseClipboard()
# get clipboard data
win32clipboard.OpenClipboard()
data = win32clipboard.GetClipboardData()
win32clipboard.CloseClipboard()
print data
文档中的一个重要提醒:
窗口检查完毕或更改剪贴板后, 通过调用CloseClipboard关闭剪贴板。 这使其他 用于访问剪贴板的窗口。 不要在上面放置物体 调用CloseClipboard后的剪贴板。
Sakin answered 2019-06-22T21:39:08Z
21 votes
您可以通过内置模块Tkinter轻松完成此操作,该模块基本上是一个GUI库。 此代码创建一个空白小部件以从OS获取剪贴板内容。
#from tkinter import Tk # Python 3
from Tkinter import Tk
Tk().clipboard_get()
kmonsoor answered 2019-06-22T21:39:32Z
19 votes
我已经看到很多使用win32模块的建议,但是Tkinter提供了我见过的最简单,最简单的方法,如下文所示:如何使用Python将字符串复制到Windows上的剪贴板?
另外,Tkinter位于python标准库中。
Buttons840 answered 2019-06-22T21:40:03Z
11 votes
上面最受欢迎的答案是奇怪的,它只是简单地清除剪贴板然后获取内容(然后是空的)。 可以清除剪贴板以确保某些剪贴板内容类型(如“格式化文本”)不会“覆盖”您要保存在剪贴板中的纯文本内容。
下面的代码用空格替换剪贴板中的所有换行符,然后删除所有双空格,最后将内容保存回剪贴板:
import win32clipboard
win32clipboard.OpenClipboard()
c = win32clipboard.GetClipboardData()
win32clipboard.EmptyClipboard()
c = c.replace('\n', ' ')
c = c.replace('\r', ' ')
while c.find(' ') != -1:
c = c.replace(' ', ' ')
win32clipboard.SetClipboardText(c)
win32clipboard.CloseClipboard()
born answered 2019-06-22T21:40:35Z
10 votes
如果您不想安装额外的软件包,ctypes也可以完成工作。
import ctypes
CF_TEXT = 1
kernel32 = ctypes.windll.kernel32
user32 = ctypes.windll.user32
user32.OpenClipboard(0)
if user32.IsClipboardFormatAvailable(CF_TEXT):
data = user32.GetClipboardData(CF_TEXT)
data_locked = kernel32.GlobalLock(data)
text = ctypes.c_char_p(data_locked)
print(text.value)
kernel32.GlobalUnlock(data_locked)
else:
print('no text in clipboard')
user32.CloseClipboard()
kichik answered 2019-06-22T21:40:58Z
3 votes
尝试win32all包中的win32clipboard(如果你使用的是ActiveState Python,可能会安装它)。
请参见此处的示例:[http://code.activestate.com/recipes/474121/]
Eli Bendersky answered 2019-06-22T21:41:29Z
2 votes
对于我的控制台程序,上面使用tkinter的答案对我来说并不适用,因为.destroy()总是给出错误,:
无法调用“event”命令:应用程序在执行时已被销毁...
或者当使用.withdraw()时,控制台窗口没有得到焦点。
要解决这个问题,你还必须在.destroy()之前调用.update()。 例:
# Python 3
import tkinter
r = tkinter.Tk()
text = r.clipboard_get()
r.withdraw()
r.update()
r.destroy()
r.withdraw()阻止帧显示一毫秒,然后它将被销毁,将焦点返回到控制台。
user136036 answered 2019-06-22T21:42:21Z
2 votes
使用Pythons库剪贴板
它的使用方式如下:
import clipboard
clipboard.copy("this text is now in the clipboard")
print clipboard.paste()
Dan answered 2019-06-22T21:42:51Z
2 votes
我发现这是从python访问剪贴板的最简单方法:
1)安装pyperclip:pip install pyperclip
2)用法:
import pyperclip
s = pyperclip.paste()
pyperclip.copy(s)
# the type of s is string
在Win3 64位,Python 3.5上测试。 似乎也适用于非ASCII字符。经测试的字符包括±°©ααγθΔΨΦåäö
np8 answered 2019-06-22T21:43:36Z
1 votes
python标准库做到了......
try:
# Python2
import Tkinter as tk
except ImportError:
# Python3
import tkinter as tk
def getClipboardText():
root = tk.Tk()
# keep the window from showing
root.withdraw()
return root.clipboard_get()
Paul Sumpner answered 2019-06-22T21:44:00Z
python获取剪切板内容_如何从python中读取(windows)剪贴板中的文本?相关推荐
- python获取剪切板图片_python 获取剪切板内容的两种方法
第一种 # -*- coding: utf-8 -*- # @Time : 2020/3/16 21:26 # @File : get_text_from_cupboard_13.py # @Auth ...
- Android 10 获取剪切板内容
一般可以放在Activity的onResume中调用如下方法: //获取剪切板内容 private void getClipboardData() {this.getWindow().getDecor ...
- js获取剪切板内容(企业微信内嵌网页)
js获取剪切板内容 应用场景 剪切板内容获取 腾讯会议获取会议时间.会议链接和会议号 更新========================= 企业微信页面剪切板内容读取 iPhone无法进入页面 零宽 ...
- 微信小程序点击复制文本到剪切板,获取剪切板内容
设置剪切板:wx.setClipboardData 获取剪切板:wx.getClipboardData api:https://developers.weixin.qq.com/miniprogram ...
- android 获取剪切内容,Android Q 获取剪切板内容
背景 有时候我们需要在app启动时去获取用户复制的内容,这时候需要进行剪切板相关操作,而Android Q开始只有系统默认的输入法应用或者应用处于焦点时才能获取到剪切板的数据,经测试只有targetS ...
- js 获取剪切板内容
1. 粘贴事件 const items = (event.clipboardData || window.clipboardData).itemsconst len = items.lengthlet ...
- vue获取剪切板内容_vue通过clipboard插件实现复制到剪切板功能
1.在package.json添加依赖"dependencies": { "clipboard": "^2.0.0" } 2.页面引入cli ...
- python写入并获取剪切板内容_python写入并获取剪切板内容
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- 小程序开发API之设置和获取剪切板内容wx.setClipboardData、wx.getClipboardData
wx.setClipboardData(Object object) 设置系统剪贴板的内容 参数Object 示例代码 wx.setClipboardData({data: 'data',succes ...
最新文章
- 将URL中的参数提取出来作为对象
- linux 大量 root@notty 进程由来
- 【年度技术观点合集】计算机视觉,自然语言,机器学习…看看顶级科学家们怎么说
- androidstuido 查看logs_使用 Logcat 写入和查看日志
- IDEA加载mysql 报:java.sql.SQLException: Unknown system variable ‘query_cache_size‘
- HTTP之Cookie和Session(C++ Qt框架实现)
- RocketMQ入门到入土(四)producer生产消息源码剖析
- 【Vue】—props属性
- ryu实例---流表的操作
- RYU实战,REST API流表控制(2)
- ASP.NET正则实现表情替换为图片,如[hanx]替换为img src=img/hanx.gif/
- input 中文输入法额外触发change事件问题
- (转)最优化问题简介
- 为什么工业互联网平台要配备MQTT网关?
- R语言线性回归和时间序列分析北京房价影响因素可视化案例
- kafka学习bolg
- 【涨粉秘籍】如何快速涨粉并转化为铁粉。
- linux控制台 远程关机,ubuntu关机命令合集
- 3.4-3.8GHz 5G LTE CBRS频段天线解决方案
- 计算机上面的字母代表什么意思,显卡前后字母代表什么意思?