如何通过包含子文件夹的文件夹 运行 python 脚本?

How to run a python script trough a folder with subfolders?

我正在将 dvd 翻录到我的 plex 服务器,我的做法是这样的。

\Storage
    \Movie Name (xxxx)
        Movie.mkv
        Bonus Scene.mkv
    \Movie2 Name (xxxx)
        Movie2.mkv

等等

我想用我的 python 脚本做的是将每个 MKV 文件重命名为文件夹名称。但是,我如何 运行 跨主存储文件夹并使其进入每个子文件夹,而不是 运行 在每个文件夹中设置脚本?

我的剧本是这样的(剧本要求电影标题是 1.mkv,我是这样写的,所以只留下了额外的场景)

import os

folder = "{cwd}\".format(cwd = os.getcwd())

src = "{folder}".format(folder=folder)

extension = "mkv"


def renamer():
    path = os.path.dirname(src)
    folder = os.path.basename(path)
    os.rename("{directory}\{file}".format(directory=src, file="1.mkv"),
              "{directory}\{file}.{extension}".format(directory=src, file=folder, extension = extension))


def listDir():
    for file in os.listdir(src):
        if file.endswith(".{extension}".format(extension = extension)):
            return file


def main():
    renamer()
if __name__ == "__main__":
    main()

您可以使用:

for (dirpath, dirnames, filenames) in os.walk(your_initial_directory):

从那里你会得到 3 个目录目录路径、目录名称、文件名,它们位于 your_initial_directory