python之shutil模块

shutil    

     --High-level  file  operations 高级的文件操作模块

   os模块提供了对目录或者文件的新建/删除/查看文件属性,还提供了对文件以及目录的路径操作。比如说:绝对路径,父目录……  但是,os文件的操作还应该包含移动 复制  打包 压缩 解压等操作,这些os模块都没有提供。
 而本章所讲的shutil则就是对os中文件操作的补充。--移动 复制  打包 压缩 解压

shutil 功能:

1  shutil.copyfileobj(fsrc,fds+[,length=16*1024])      #copy文件内容到另一个文件,可以copy指定大小的内容

import shutil
f1=open('1.txt','r')
f2=open('1_copy.txt','w+')
shutil.copyfileobj(f1,f2,length=16*1024)

 

2  shutil.copyfile(src,dst)     #copy文件内容,是不是感觉上面的文件复制很麻烦?还需要自己手动用open函数打开文件,在这里就不需要了,事实上,copyfile调用了copyfileobj

import shutil
shutil.copyfile('1.txt','1_copy_file.txt')

 

3  shutil.copymode(src,dst)     #仅copy权限,不更改文件内容,组和用户。

  准备2个文件

      -rwxr-xr-x 1 python python 66 4月  24 11:50 1.txt     #权限是755
      -rwx-w--w- 1 python python  0 4月  24 11:50 2.txt    #权限是722

import shutil
shutil.copymode('1.txt','2.txt')

 运行结果后:

    -rwxr-xr-x 1 python python 66 4月  24 11:50 1.txt     #权限是755
    -rwxr-xr-x 1 python python  0 4月  24 11:50 2.txt      #权限是755

注意:是根据第一个文件的权限来同步第二个文件权限,并且不支持三个参数,例如:shutil.copymode('1.txt','2.txt','3.txt')

 

4  shutil.copystat(src,dst)    #复制所有的状态信息,包括权限,组,用户,时间等

 

posted @ 2019-04-24 14:12  醉城、  阅读(481)  评论(0编辑  收藏  举报