想学习如何用Python自动输入文本吗?复制粘贴并不是模仿打字的一种很酷的方式。如果一些Python脚本能够模仿人类从键盘上实际打出的文字,你会怎么想?我所说的打字,是指在任何输入字段、聊天框等地方逐个字母、逐个字地实际打字。
在本教程中,我们将向你展示如何编写一个Python脚本,它可以接收一个文件(文本、数据、符号),并将其中的内容输入到你指示的地方,而且是自动输入。
使用Python实现自动打字
让我们进入使用Python实现自动打字的代码。这个代码可以用来在任何文本编辑器上打字,使其看起来很酷 🙂
为什么需要自动文字打字?
你会猜想为什么会需要任何自动文本打字的Python脚本,但这里有几个原因。
- 它可以自动输入任意数量的文字或行数
- 模仿键盘上的实际打字方式
- 在你休息的时候,让别人帮你打字,这很有趣。此外,出于教育目的,它还可以用来发送垃圾邮件。
1.设置pyautogui
第一步是在你的计算机系统中安装所需的库和模块,以便对脚本进行编码,使你的功能不费吹灰之力即可使用。
虽然pyautogui 和 时间模块都是与Python捆绑安装的,如果你的电脑中没有,你可以使用pip包管理器安装它们,如图所示。
pip install pyautogui
pip install time
现在,由于我们已经安装了所需的库,我们开始把它导入我们的代码文件中。
import pyautogui
import time
2.创建一个带有数据的文件
为了输入到我们的自动脚本中去写/输入一个文本,我们需要文本形式的数据(可以是任何东西,任何语言)。虽然我们可以直接在我们的Python代码文件中插入我们打算输入的文本,但这看起来并不优雅,也不是一个聪明的方法。
- 创建一个以.txt为扩展名的文件
- 在我们的例子中,创建的文件名为 - 'typing-data.txt' 。
- 你可以在这个文件中存储任何文本,例如。"嗨,我是Python,我正在自动打出这个文本"。
在我们的例子中,我将使用一首流行歌曲的歌词 - "Dance Monkey",这是我从谷歌搜索中轻松得到的。
3.使用Python自动打字
现在我们已经完成了一些必要的步骤,制作一个自动打字的脚本的最后一步是在我们的Python脚本文件中编码打字功能。
设置一个时间延迟
在运行/执行Python文件后,为了让用户在文本字段中选择我们要输入的内容,我们需要一些时间。
time.sleep(10)
打开要读取的文本文件
为了打开我们的文本文件(typing-data.txt),我们使用pyautogui库的open()方法,以Read格式打开文件。
open("typing-data.txt", "r"):
但是现在,我们需要从文件中读出多行的文本,我们需要一次又一次地迭代它,直到文件中的文本 结束。要做到这一点,我们对要读取的文本文件中的每一行使用for循环。
import pyautogui
import time
time.sleep(10)
for line in open("typing-data.txt", "r"):
输入变量中的文本
现在,我们需要键入/写入读取的或存储在 "line "变量中的文本行。
我们通过使用模块的typewrite()方法来实现。
pyautogui.typewrite(line)
我们需要每次为每一行发送消息,这意味着我们需要逐行发送我们的消息,为此我们要在每次迭代时按下回车。但如果你想一次性发送信息(从文本文件),你必须跳过这一行。
如果要逐字输入文本,而不是逐行输入,你需要另一个循环来迭代一个句子的每个字。
使用Python自动输入文本的完整代码
下面给出了自动输入文本的最终代码。为了使用这个脚本自动打字,我们运行我们的Python文件,然后快速导航到我们打算演示自动打字的文本区域.
import pyautogui
import time
time.sleep(10)
for line in open("typing-data.txt", "r"):
pyautogui.typewrite(line)
pyautogui.press("enter")
总结
本教程到此为止。我希望你一定已经学会了如何用Python编写脚本来自动输入文本。