0

I am ripping dvd's to my plex server, and the way i have done it is like this.

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

etc

And what i want to do with my python script is to rename each MKV file to the folder name. But instead of running the script in each folder, how do i run it across the main storage folder and make it enter each subfolder?

My script looks like this (the script requires the movie title to be 1.mkv, i made it like that so it leaves the bonus scenes alone)

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()
Hevos93
  • 5
  • 1
  • Does this answer your question? [Directory-tree listing in Python](https://stackoverflow.com/questions/120656/directory-tree-listing-in-python) – Hymns For Disco Mar 21 '20 at 11:51

1 Answers1

0

you can use:

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

from there you get 3 lists dirpath, dirnames, filenames that are in your_initial_directory