You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:如何用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 19:51:02