Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 脚本以在多个文件夹中移动,并仅将具有特定ext的文件复制到另一个文件夹_Python_Bash_File Handling_File Manipulation - Fatal编程技术网

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

Python 脚本以在多个文件夹中移动,并仅将具有特定ext的文件复制到另一个文件夹,python,bash,file-handling,file-manipulation,Python,Bash,File Handling,File Manipulation,如何制作一个脚本(最好是用python编写的,但我也支持其他方法)来解析多个子文件夹,并仅将具有特定扩展名的文件(如.mp3和.mp4等)复制到Linux/Ubuntu中的另一个文件夹?您可能希望使用它来遍历目录树。然后,对于每个文件,使用获取扩展名。请注意,splitext将返回basename和扩展名 然后使用复制到目标目录 一个轻量级示例(使用/作为假设的起点): 对于Bash:(将cp替换为mv)我会使用find,除非有令人信服的理由编写自定义实现。您可以只使用ffile.endswit

如何制作一个脚本(最好是用python编写的,但我也支持其他方法)来解析多个子文件夹,并仅将具有特定扩展名的文件(如.mp3和.mp4等)复制到Linux/Ubuntu中的另一个文件夹?

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

然后使用复制到目标目录

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


对于Bash:(将
cp
替换为
mv
)我会使用
find
,除非有令人信服的理由编写自定义实现。您可以只使用
ffile.endswith(('.jpg','.png'))
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])