Скопируйте файл, переименуйте его, повторите и повторите
Я использую os.renmae для переименования файлов и их перемещения, но мне не удается выполнить следующую задачу.
У меня есть основная папка, содержащая подпапки со структурой ниже.
Основная папка "Назад", содержащая подпапки с именами из букв и цифр, например, A01, A02, B01, B02 и т. Д. Внутри каждой из этих папок есть набор файлов, среди которых есть файл с именем "rad", то есть файл Пример пути выглядит примерно так:
Назад /A01/ рад /A02/ рад /B01/ рад... / рад
У меня есть другая подпапка под названием "rads" внутри основного "Back" Back/rads
Что я хочу сделать, это скопировать только все файлы Rad, из каждой папки в задней части и переместить их в папку "RADS" и назовите каждый файл Rad в зависимости от папки, из которой он пришел. например, rad_A01, rad_A02, rad_B01 и т. д.
Я не мог понять, как увеличить номер папки при перемещении файлов.
os.rename ("Назад // Рад, Назад / Радс / Рад_")
Я подумал о том, чтобы составить список всех имен файлов, а затем сделать что-то вроде x в списке, выполнить os.rename (), но я не знал, как сказать python, чтобы имя файла соответствовало подпапке, из которой он получен как они не являются непрерывным рядом. Любая помощь приветствуется. заранее спасибо
1 ответ
import os
for subdir, dirs, files in os.walk('./Back/'):
for file in files:
filepath = subdir+os.sep+file
if filepath.endswith("rad.txt"):
par_dir = os.path.split(os.path.dirname(filepath))[1]
os.system('cp '+filepath+' ./Back/rads/rad_'+par_dir)
сохраните этот файл Python рядом с каталогом Back, и он должен работать нормально! Этот код перебирает все файлы в каждом подкаталоге Back, проверяет все файлы с именем rad.txt, добавляет имя родительского каталога и копирует в папку rads. Примечание: я сохранил рад файлы с расширением.txt, измените его соответствующим образом.