1.shutil
-- --High-level file operations 高级的文件操作模块。
os模块提供了对目录或者文件的新建/删除/查看文件属性,还提供了对文件以及目录的路径操作。比如说:绝对路径,父目录…… 但是,os文件的操作还应该包含移动 复制 打包 压缩 解压等操作,这些os模块都没有提供。
而本章所讲的shutil则就是对os中文件操作的补充。--移动 复制 打包 压缩 解压.
shutil功能:
1 shutil.copyfileobj(fsrc, fdst[, length=16*1024]) #copy文件内容到另一个文件,可以copy指定大小的内容
2 shutil.copyfile(src,dst) #copy文件内容,是不是感觉上面的文件复制很麻烦?还需要自己手动用open函数打开文件,在这里就不需要了,事实上,copyfile调用了copyfileobj
3 shutil.copymode(src,dst) #仅copy权限,不更改文件内容,组和用户。
4 shutil.copystat(src,dst) #复制所有的状态信息,包括权限,组,用户,时间等
5 shutil.copy(src,dst) #复制文件的内容以及权限,先copyfile后copymode
注意:copyfile仅仅是把文件拷贝到目的文件。但是copy函数可以把文件的mode也一起拷贝
6 shutil.copy2(src,dst) #复制文件的内容以及文件的所有状态信息。先copyfile后copystat
7 shutil.copytree(src, dst, symlinks=False, ignore=None, copy_function=copy2,ignore_dangling_symlinks=False) #递归的复制文件内容及状态信息
8 shutil.rmtree(path, ignore_errors=False, onerror=None)#递归地删除文件
9 shutil.move(src, dst) #递归的移动文件
10 make_archive(base_name, format, root_dir=None, base_dir=None, verbose=0,dry_run=0, owner=None, group=None, logger=None) #压缩打包
base_name: 压缩打包后的文件名或者路径名
format: 压缩或者打包格式"zip", "tar", "bztar"or "gztar"
root_dir : 将哪个目录或者文件打包(也就是源文件)
网友评论