脚本移动到多个文件夹并仅将具有特定ext的文件复制到另一个文件夹

时间:2017-02-12 20:34:16

标签: python bash file-handling file-manipulation

如何编写脚本(最好是在python中,但我也可以通过其他方式打开)来解析多个子文件夹,只将具有特定扩展名的文件(如.mp3& .mp4等)复制到另一个文件夹中的Linux / Ubuntu的?

1 个答案:

答案 0 :(得分:2)

您可能希望使用os.walk来遍历目录树。然后,对于每个文件,使用os.path.splitext获取扩展名。请注意,splitext将返回基本名称和扩展名。

然后使用shutil.copy复制到目标目录。

一个轻量级示例(使用/作为您的假设起点):

import os
import os.path
import shutil    

for root, dir, files in os.walk('/'):
    for ffile in files:
        if os.path.splitext(ffile)[1] in ('.mp3', '.mp4'):
            src = os.path.join(root, ffile)
            shutil.copy(src, [YOUR_TARGET_DIR])