Как запустить скрипт python через папку с подпапками? - PullRequest
0 голосов
/ 21 марта 2020

Я копирую DVD на мой плекс-сервер, и то, как я это сделал, выглядит следующим образом.

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

et c

И что я хочу сделать с моим python скрипт для переименования каждого файла MKV в имя папки. Но вместо того, чтобы запускать скрипт в каждой папке, как мне запустить его через основную папку хранения и заставить его войти в каждую подпапку?

Мой скрипт выглядит следующим образом (сценарий требует, чтобы заголовок mov ie был 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()

1 Ответ

0 голосов
/ 21 марта 2020

вы можете использовать:

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

оттуда вы получите 3 списка dirpath, dirnames, имена файлов, которые находятся в вашем_initial_directory

...