在多个目录中运行具有相同名称的所有Python脚本

问题描述 投票:0回答:3

我有一个看起来像这样的文件结构:

Master:

  • 第一
    • train.py
    • other1.py
  • 第二
    • train.py
    • other2.py
  • 第三
    • train.py
    • other3.py

我希望能够拥有一个驻留在Master目录中的Python脚本,该脚本在执行时将执行以下操作:

  • 遍历所有子目录(及其子目录,如果存在)
  • 以必需的顺序在每个脚本中运行每个名为train.py的Python脚本

我知道如何从另一个文件(给定名称)执行给定的python脚本,但是我想创建一个脚本,该脚本将执行遇到的任何train.py脚本。因为train.py脚本易于移动和复制/删除,所以我想创建一个适应性强的脚本,它将运行它所找到的所有脚本。

我该怎么做?

python tensorflow directory subdirectory
3个回答
1
投票

您正在使用哪个操作系统?

如果Ubuntu / CentOS尝试此组合:

import os

//将此放在主目录中,并列出主目录+子目录中的每个文件,然后在管道抓到train.py之后列出>]

train_scripts = os.system(“查找。-type d | grep train.py”)

//下一步执行它们

python train_scripts


1
投票

如果使用Windows,则可以尝试从PowerShell脚本运行它们。您可以使用以下命令一次运行两个python脚本:


0
投票

您可以使用os.walk递归收集所有train.py脚本,然后使用ProcessPoolExecutorsubprocess模块并行运行它们。

© www.soinside.com 2019 - 2024. All rights reserved.