首页 > 代码库 > python模块之shutil
python模块之shutil
-- --High-level file operations 高级的文件操作模块
shutil.copyfileobj(fsrc, fdst[, length=16*1024]) #copy文件内容到另一个文件,可以copy指定大小的内容
shutil.copyfile(src,dst) #copy文件内容,是不是感觉上面的文件复制很麻烦?还需要自己手动用open函数打开文件,在这里就不需要了,事实上,copyfile调用了copyfileobj
shutil.copymode(src,dst) #仅copy权限,不更改文件内容,组和用户
shutil.copystat(src,dst) #复制所有的状态信息,包括权限,组,用户,时间等
shutil.copy(src,dst) #复制文件的内容以及权限,先copyfile后copymode
shutil.copy2(src,dst) #复制文件的内容以及文件的所有状态信息。先copyfile后copystat
类似于cp –p
shutil.copytree(src,dst,symlinks=False,ignore=None,copy_function=copy2,ignore_dangling_symlinks=False) #递归的复制文件内容及状态信息
shutil.rmtree(path, ignore_errors=False, one rror=None) #递归地删除文件
shutil.move(src, dst) #说明:如果两个位置的文件系统是一样的话相当于是rename操作,只是改名如果是不在相同的文件系统的话就是做move操作了!
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 : 将哪个目录或者文件打包(也就是源文件)
>>> shutil.make_archive(‘tarball‘,‘gztar‘,root_dir=‘copytree_test‘)
[root@slyoyo python_test]# ls -l
total 12
drwxr-xr-x. 3 root root 4096 May 14 19:36 copytree_copy
drwxr-xr-x. 3 root root 4096 May 14 19:36 copytree_test
-rw-r--r--. 1 root root 0 May 14 21:12 tarball.tar.gz
-rw-r--r--. 1 python python 79 May 14 05:17 test1
-rw-r--r--. 1 root root 0 May 14 19:10 test2
shutil.unpack_archive(filename[, extract_dir[, format]]) #解压归档文件,filename是归档的完整路径,extract_dir是解压到的文件路径,format默认是根据归档的后缀来自动识别
python模块之shutil