Python:在目录树中复制具有特定扩展名的文件

时间:2015-05-16 09:20:36

标签: python

我需要从文件夹树中复制扩展名为.jpg的文件。 文件夹树是这样的:

-folder_A
    -folder_1
        -1.txt
        -1.jpg
    -folder_2
        -2.txt
        -2.jpg
    -folder_3
        -3.txt
        -4.jpg
-folder_B

如何将所有x.jpg复制到folder_B? 即folder_A中的所有文件都相同,而folder_B中的文件为1.jpg2.jpg ...

2 个答案:

答案 0 :(得分:2)

看一下python os模块。

import os
import shutil as sh

root_path = "./folder_A"
dest_path = "./folder_B"

for dirpath, dnames, fnames in os.walk(root_path):    
    for f in fnames:
        if f.endswith(".jpg"):
            source_file_path =  os.path.join(dirpath, f)
            dest_file_path   =  os.path.join(dest_path, f)
            sh.copyfile(source_file_path, dest_file_path)

答案 1 :(得分:0)

或者,如果您了解自己的操作系统,则可以执行相应的shell命令。 (但我认为@stellasia的解决方案更清晰)

示例(Linux):

import os

os.system('cp -r folder_A/*/*.jpg folder_B/')