Python扩展包之shutil

Shutil :高级的文件操作模块;

 os模块提供了对目录或者文件的新建/删除/查看文件属性,还提供了对文件以及目录的路径操作。比如说:绝对路径,父目录……  但是,os文件的操作还应该包含移动 复制  打包 压缩 解压等操作,这些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


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, οnerrοr=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 :         将哪个目录或者文件打包(也就是源文件)


11 shutil.which(cmd, mode=os.F_OK | os.X_OK, path=None)  

#返回到一个可执行文件的路径,如果给定的cmd被调用,它将被运行。如果没有调用cmd,则返回None


12 shutil.get_terminal_size(fallback=(columns, lines))  

#获取终端窗口的大小。


13 shutil.disk_usage(path)

#返回磁盘的使用统计信息,将给定路径作为一个命名的元组,并使用属性总计、使用和空闲,这是总、使用和空闲空间的总量,以字节数表示

shutil

高级的 文件、文件夹、压缩包 处理模块

 import shutil 
 shutil.copyfileobj(open('old.xml','r'), open('new.xml', 'w'))  #将文件内容拷贝到另一个文件中
 
   
 shutil.copyfile('f1.log', 'f2.log') #目标文件无需存在
 shutil.copymode('f1.log', 'f2.log') #目标文件必须存在



你可能感兴趣的:(Python,Python全栈工程师)