Python shutil copy,copyfile 和 copytree函数
最编程
2024-01-17 19:35:22
...
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] 当文件已存在时,无法创建该文件