Скопируйте файлы в тот же каталог с другим именем

Мне нужно скопировать все HTML-файлы в том же каталоге с другим именем, и мне нужно перемещаться по всем каталогам внутри исходного каталога.

Вот мой код,

import os
import shutil
os.chdir('/') 

dir_src = ("/home/winpc/test/copy/")

for filename in os.listdir(dir_src):
    if filename.endswith('.html'):
        shutil.copy( dir_src + filename, dir_src)
    print(filename)

1 ответ

Решение

Решение

import os
import shutil

def navigate_and_rename(src):
    for item in os.listdir(src):
        s = os.path.join(src, item)
        if os.path.isdir(s):
            navigate_and_rename(s)
        else if s.endswith(".html"):
            shutil.copy(s, os.path.join(src, "newname.html"))    

dir_src = "/home/winpc/test/copy/"
navigate_and_rename(dir_src)

объяснение

Перейдите по всем файлам в исходной папке, включая подпапки

import os
def navigate(src):
    for item in os.listdir(src):
        s = os.path.join(src, item)
        if os.path.isdir(s):
            navigate(s)
        else:
            # Do whatever to the file

Скопируйте в ту же папку с новым именем

import shutil
shutil.copy(src_file, dst_file)

Ссылка

Оформить мой ответ на другой вопрос.

Другие вопросы по тегам