Python shutil copy(),copyfile() 和 copytree()函数

shutil copy(),copyfile() 和 copytree()函数 区别

最近在处理数据集,经常会使用shutil相关函数处理文件,今天专门观察了下copy(),copyfile() 和 copytree() 之间的差别。

shutil.copy()

移动具体文件

    source = r'D:\dataset\indoor\train\airport_inside\airport_inside_0001.jpg'
    destination = r'D:\dataset\indoor\test\1'
	shutil.copy(“source,destination) 

source只能是文件,destination可以是文件,也可以是目录,目录必须已经创建,所以在复制文件前需要

    if not os.path.exists(destination):
        os.makedirs(destination)

shutil.copyfile()

移动具体文件

    source = r'D:\dataset\indoor\train\airport_inside\airport_inside_0001.jpg'
    destination = r'D:\dataset\indoor\test\1\airport_inside_0001.jpg'
	shutil.copyfile(source,destination) 

source和destination都只能是文件

shutil.copytree()

把某一文件夹(source)内所有文件复制到另外一个文件夹中(destination),
或者说移动的是文件夹和它的内容,目标路径相当于给文件夹重命名。

    source = r'D:\dataset\indoor\train\airport_inside'
    destination = r'D:\dataset\indoor\test\1'
    shutil.copytree(source,destination)

其中destination的路径已经创建,则会报错

FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件

你可能感兴趣的:(python,人工智能,开发语言)