Я пытаюсь переименовать файлы меньшего размера в каждой подпапке.Пути к папкам выглядят так:
C:\Users\user\Documents\Requests\*\dir\*\.txt
До сих пор я выяснил, как переименовать файлы меньшего размера, указав основную папку и подпапку, но у меня слишком много папок, и мне было интересно, есть ли способчтобы переименовать их все сразу, используя подстановочные знаки.
Это то, что я имею до сих пор:
import os
import glob
directory = C:\Users\user\Documents\Requests\MainFolder-timestamp\dir\Subfolder-timestamp\file-timestamp.txt
list = glob.glob(directory)
small_list = []
pairs = []
for file in list:
location = os.path.join(directory, file)
size = os.path.getsize(location)
pairs.append((size, file))
pairs.sort(key=lambda, s: s[0])
for pair in pairs:
small_list.append(pair[1]
if 'test' in small_list[-1]: # remove 'test' string from the biggest file
biggest_file = small_list[-1]
os.rename(biggest_file, biggest_file.replace('test', ''))
small_list = small_list[:-1]
for filename in small_list:
if filename.endswith('txt'):
os.rename(filename, filename[:-4] + '.txtsmall')
print('Files have been successfully renamed.')