求助:如何用Python脚本批量打开指定文件夹下的TXT文件
解决记事本批量打开TXT文件的问题
你的代码目前只完成了打开记事本并唤起“打开”对话框这一步,但没有实际选择并打开目标TXT文件;另外每次循环启动新记事本后,直接用app.Notepad定位窗口也可能出问题。下面提供两种解决方案,优先推荐第一种:
方案一:直接启动记事本打开文件(推荐)
这种方式跳过模拟菜单操作,直接让记事本加载指定文件,稳定且高效:
from pywinauto import application import os def Open_file(): app = application.Application() path = input("path : ") # 遍历目标路径下的所有文件 for filename in os.listdir(path): if filename.endswith('.txt'): # 拼接完整的文件路径 full_file_path = os.path.join(path, filename) # 直接用记事本打开该文件,路径加引号避免空格问题 app.start(f"notepad.exe \"{full_file_path}\"") Open_file()
方案二:模拟菜单打开文件(兼容性较差)
如果一定要通过菜单操作实现,需要修正窗口定位和对话框操作逻辑,注意这种方式受系统语言、窗口加载速度影响较大:
from pywinauto import application import os import time def Open_file(): path = input("path : ") for filename in os.listdir(path): if filename.endswith('.txt'): full_file_path = os.path.join(path, filename) # 每次启动新记事本都创建独立的Application实例 app = application.Application().start("notepad.exe") # 短暂等待窗口加载完成 time.sleep(0.5) # 触发文件->打开菜单 app.Notepad.menu_select("File->Open") # 在打开对话框的输入框中填写完整文件路径 app.Open.Edit.set_text(full_file_path) # 点击打开按钮 app.Open.Open.click() Open_file()
内容的提问来源于stack exchange,提问作者gmh
相关产品推荐
相关产品推荐

