【问题标题】:Python : get all exe files in current directory and run them?Python:获取当前目录中的所有 exe 文件并运行它们?
【发布时间】:2025-12-30 05:55:10
【问题描述】:

首先,这不是家庭作业,我迫切需要一个可以执行以下操作的脚本,我的问题是,我以前从未处理过 python,所以我几乎不知道如何使用它 -我需要它通过命令行构建运行器在 TeamCity 中启动单元测试

我真正需要的是:

将运行脚本的 *.bat 文件

一个python脚本:

  • 获取当前工作目录下的所有 *_test.exe 文件
  • 运行所有搜索结果的文件

最好的问候

【问题讨论】:

  • 为什么要涉及Python,就不能简单的用批处理文件来启动那些程序吗?
  • 我们每天都在添加测试,我们不想每次添加新内容时都编辑批处理文件,我们需要一个灵活的解决方案
  • 我发布的代码有什么错误或问题?
  • @Noctis 我明天一回到办公室就通知你
  • 你发现我的代码有什么问题了吗?

标签: python teamcity-5.1


【解决方案1】:
import glob, os
def solution():
    for fn in glob.glob("*_text.exe"):
        os.startfile(fn)

【讨论】:

  • 此解决方案有效。我的另一个问题是:我可以让脚本等到当前进程完成执行吗?
  • 添加import subprocess并将os.startfile(fn)更改为p = subprocess.Popen([fn]); p.wait()。 p.wait() 也会给你返回码,所以你可以做类似if p.wait() == 0: print 'Success'; else: print 'Fail'
  • @gnibbler : 如果我想在整个硬盘上执行此操作,而不仅仅是当前目录。
  • @thecreator232,您可以使用os.walk 循环遍历您硬盘上的所有目录。
【解决方案2】:

如果您将其复制到文件中,脚本应该按照您的要求执行。

import os       # Access the operating system.

def solution(): # Create a function for later.
    for name in os.listdir(os.getcwd()):
        if name.lower().endswith('_test.exe'):
            os.startfile(name)

solution()      # Execute this inside the CWD.

【讨论】:

  • 这个解决方案有问题:)