Python - zmiana nazw plików w katalogu


(Cloud) #1

Witam,

Dopier zaczynam zabawę z programowaniem i potrzebuję małej podpowiedzi.

#!/usr/bin/env python

import os, sys, glob
# Variables
moviedir = '/user/Movies/jakis_film'
dirname = os.getcwd().split(os.sep)[-1]
fnames = os.listdir( moviedir )
extension = ['.mp4' '.mkv' '.avi']
mp4 = '.mp4'
tup1 = ('mp4', 'mkv', 'avi')

for files in fnames:
    if files.endswith( tup1 ):
        os.rename( files, dirname + mp4 )

Jak mam zmodyfikować ten kod, żeby sprawdził wszystkie podrzędne katalogi w 'moviedir' i zmienił nazwy plików zawarte w tych folderach na nazwę katalogów w którym są zostawiając ich rozszerzenie.

Dzięki

 


(enedil) #2

import os

def walk_dir(path):

    for entry in os.scandir(path):

        if entry.is_file():

            yield entry.path

         elif entry.is_dir():

             walk_dir(entry.path)