当前位置: 首页 > news >正文

自动输入小程序

打字机模拟器

一个简单的Python工具,可以将输入的文本以模拟键盘打字的形式输出到当前光标位置,直接模拟键盘按键操作。可以用于尽可以复制而不能粘贴的情况,例如某一些学习平台任务,用来提高作业完成效率。

功能特点

  • 默认使用剪贴板内容作为输入来源,用户只需复制需要输出的文本
  • 保持逐字符模拟键盘按键操作,无粘贴痕迹,展示真实打字效果
  • 支持自定义打字速度(字符之间的延迟时间),可减慢打字速度
  • 支持通过命令行参数提供文本或从文件读取文本内容
  • 支持启动前等待一定时间,便于切换到目标窗口

import pyautogui
import pyperclip
import time
import argparse
import sysdef type_text(text=None, delay=0.005):"""模拟键盘打字效果,默认使用剪贴板内容"""if text is None:text = pyperclip.paste()print("使用剪贴板内容进行模拟打字...")for char in text:pyautogui.typewrite(char)time.sleep(delay)def main():# 参数解析parser = argparse.ArgumentParser(description='模拟键盘打字输出工具')parser.add_argument('-t', '--text', help='要输出的文本内容')parser.add_argument('-f', '--file', help='包含要输出文本的文件路径')parser.add_argument('-d', '--delay', type=float, default=0.005, help='字符间延迟(秒)')parser.add_argument('-w', '--wait', type=int, default=3, help='启动等待时间(秒)')args = parser.parse_args()# 获取文本内容text = args.textif not text and args.file:try:with open(args.file, 'r', encoding='utf-8') as f:text = f.read()except Exception as e:print(f"无法读取文件 {args.file}: {e}")sys.exit(1)# 等待并倒计时print(f"{args.wait}秒后开始输出文本,请切换到目标窗口...")for i in range(args.wait, 0, -1):print(f"倒计时: {i}秒", end='\r')time.sleep(1)print()# 执行打字try:type_text(text, args.delay)print("\n文本输出完成!")except Exception as e:print(f"发生错误: {e}")sys.exit(1)if __name__ == "__main__":main()
http://www.hskmm.com/?act=detail&tid=28319

相关文章:

  • 实用指南:基于阿里云系列平台的python微服务设计与DevOps实践
  • 学习意志:“柚子曲线”与圆的交点个数的代数证明
  • 使用命令行删除 Windows 网络映射驱动器
  • 实验报告4(使用顺序表和单链表,进行有序表的合并)
  • 函数
  • 20232314 2025-2026-1 《网络与系统攻防技术》实验一实验报告
  • 2025秋_9
  • 10月10日
  • 详细介绍:【Windows10】MySQL9.4安装配置
  • ChatTime的一些理解
  • ChatTS的一些理解
  • 一生一芯学习:基础设施(2)
  • 实验报告3(使用单链表简单实现图书管理系统)
  • 大端与小端
  • 【黑马python】2.Python 字符串
  • 实验报告2(简单实现图书馆管理系统)
  • 实验报告1(switch语句,二维数组)
  • 【实现自己的 kafka!】kafka 的关键概念
  • 12. 对话框
  • 2024ICPC区域赛香港站
  • AI产品经理要了解的算法有哪些?
  • 一位印度小哥逆袭成为谷歌数据科学家的心路历程 - 教程
  • 基于selenium的网页自动搜索
  • MacOS Nginx
  • 缓存的击穿、雪崩、穿透在你项目中的场景是什么
  • [WC2021] 表达式求值
  • Set集合
  • AI时代下,如何看待“算法利维坦”?
  • JAVA - LinkedList 与 ArrayList 区别和 LinkedList 的四大接口解析
  • 苍穹外卖第三天(Swagger、@RequestParam和@RequestBody的使用场景、@PostMapping和@RequestMapping的区别、对象属性拷贝、@Insert注解)