导读
shutil模块提供了许多关于文件和文件集合的高级操作,特别是提供了支持文件复制和删除的功能。
有关单个文件的操作,另请参阅os模块。
参考官方文章:shutil — High-level file operations, Python 2.X 版戳这。
目录与文件操作
shutil.copyfile(src, dst, follow_symlinks=True)
功能:将src文件内容复制到dst的文件上。如果dst文件不存在,程序自动创建,如果已存在,则覆盖。
参数:
• src:源文件名称,可包含合法路径
• dst:复制到的目标文件名,可包含合法路径
import shutil
shutil.copyfile('aa.txt', 'cc.txt')
shutil.copyfile('aa.txt', ‘/home/cc.txt')
shutil.copy(src, dst, follow_symlinks=True)
功能:将文件src复制到文件或目录dst。
如果dst为目录,则表示复制文件到该目录下;反之如果是文件,则表示创建指定文件再复制src的数据到该文件上。copy() 仅复制原文件的数据和权限,其它元数据不会保留。需要保留更多的元数据可使用 copy2()。
参数:
• src:源文件名称
• dst:目标路径或文件名
import shutil
shutil.copy('aa.txt', '/home')
shutil.copy('aa.txt', '/home/aa_backup.txt')
shutil.copy2(src, dst, follow_symlinks=True)
功能:将文件src复制到文件或目录dst。
如果dst为目录,则表示复制文件到该目录下;反之如果是文件,则表示创建指定文件再复制src的数据到该文件上。copy2()会保留所有可用的元数据。如:创建日期、修改日期、属主等。
参数:
• src:源文件名称
• dst:目标路径或文件名
import shutil
shutil.copy2('aa.txt', '/home')
shutil.copy2('aa.txt', '/home/aa_backup.txt')
shutil.copymode(src, dst)
功能:将src权限信息复制至dst,其它内容不变,并要求两者均事先存在。
参数:
• src: 源文件或文件夹
• dst: 将权限复制至dst文件或文件夹
• follow_symlinks:设置为False时,src, dst皆为软连接,可以复制软连接权限,但其默认为True,即当成普通文件复制权限。(Python3.3新增参数)
imort shutil
shutil.copymode('aa.txt', 'bb.txt') # 将文件 aa.txt 的权限复制至文件 bb.txt
shutil.copymode('dir1', 'dir2') # 将文件夹 dir1 的权限复制至文件夹 dir2
shutil.copystat(src, dst, follow_symlinks=