1

我正在尝试编写一个非常基本的代码,我从一个程序中复制一些文本,然后将其粘贴到另一个程序中。我不确定如何执行此操作,因为 Pyperclip 似乎只将文本粘贴到我运行代码的命令窗口上。我希望能够单击文本编辑程序,然后让我的代码将文本粘贴到那里。我附上我的代码

import pyperclip
import time
pyperclip.copy('testing')
time.sleep(5)
pyperclip.paste()

当我运行这段代码时,实际上什么都没有发生。它不粘贴任何东西,甚至在命令窗口上也不粘贴。我在那里有睡眠功能,因为那是我花时间单击文本编辑程序以便 Python 将文本粘贴到那里但它不起作用的时候。

4

2 回答 2

3

如果您只想将内容复制到另一个文本编辑器,请尝试使用pyautoguimodule. 该模块允许通过 python 代码实现鼠标/键盘自动化。

代码:

import pyautogui
import time

time.sleep(5)
a = "testing"

pyautogui.typewrite(a)

上面的代码将在程序执行 5 秒后开始输入单词testing,因此您必须在此期间打开文本编辑器。

模块最好的部分(或最差的部分)pyautogui是它独立于焦点,即无论当前应用程序是否具有焦点控制,它都可以工作。

只是一个旁注不要使用 pyperclip 来复制/更改/访问剪贴板数据,而是尝试win32clipboard,如果你在 Windows 上,因为它可以更好地控制剪贴板。

于 2019-05-17T01:00:12.087 回答
0

尽管这是一个相当古老的问题,但答案却花了我几个小时。我的目标是在另一个程序中输入一个数字。然而,该程序会自动完成输入,因此使用 typewrite() (当前版本的 pyautogui 中的 write() )会导致意外行为。

但是 pyautogui 和 pyperclip 最终帮助了我。这是我正在使用的代码:

import pyperclip
import time

pyperclip.copy('hello')
time.sleep(5)
with pyautogui.hold('ctrl'):
    pyautogui.press(['v'])

这个解决方案很脏,但它有效。

于 2021-12-16T15:47:35.763 回答