如何在多个子目录中找到相同扩展名的所有文件,然后使用python将它们移到单独的文件夹中?

问题描述 投票:0回答:1

我已将较旧摄像机的内容复制到我的计算机上,在该文件夹中,转移了100多个子文件夹,这些子文件夹都包含我想要的6或7个文件。如何搜索所有文件并将所有找到的文件移到新文件夹?我对此很陌生,因此欢迎您提供任何帮助。

python file-management
1个回答
0
投票

要找到所有文件,有两种方法:

  1. 使用os.walker

示例:

import os

path = 'c:\\location_to_root_folder\\'

files = []
# r=root, d=directories, f = files
for r, d, f in os.walk(path):
    for file in f:
        if '.mpg' in file:
            files.append(os.path.join(r, file))

for f in files:
    print(f)
  1. 使用glob示例:
import glob

path = 'c:\\location_to_root_folder\\'

files = [f for f in glob.glob(path + "**/*.mpg", recursive=True)]

for f in files:
    print(f)

要移动,您可以使用以下3种方法之一,我个人更喜欢shutil.move:

import os
import shutil

os.rename("path/to/current/file.foo", "path/to/new/destination/for/file.foo")
shutil.move("path/to/current/file.foo", "path/to/new/destination/for/file.foo")
os.replace("path/to/current/file.foo", "path/to/new/destination/for/file.foo")
© www.soinside.com 2019 - 2024. All rights reserved.