首页 > 代码库 > 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