python之高级的文件操作shutil模块

枫铃3年前 (2021-07-10)Python284

shutil

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

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

shutil 功能:

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

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
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) #复制所有的状态信息,包括权限,组,用户,时间等

相关文章

对python乱序字符串检查算法研究

显示不同量级的算法的一个很好的例子是字符串的乱序检查。乱序字符串是指一个字符串只是另一个字符串的重新排列。例如,‘heart’ 和 ‘earth...

Python四道面试题

1.计算100到1000之间的总和 >>> list(range(1, 10)) [1, 2, 3, 4, 5, 6, 7, 8, 9]...

Python 循环中的陷阱

Python 中的 fo...

Python中docstring文档的写法

该写法根据Python的PEP 257文档总结。 类的函数称为方法(method),模块里的函数称为函数࿰...

python中os.path.isdir()等函数的作用和用法

一 用法和概念: Python中的os模块用于和系统进行交互,其中: 1 os.listdir()...

python struct模块的使用

struct模块中的函数...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。