Python高级文件操作模块shutil

20次阅读
没有评论

共计 870 个字符,预计需要花费 3 分钟才能阅读完成。

复制文件的函数在 os 模块中不存在。原因是复制文件并非由操作系统提供的系统调用。

shutil 模块提供了 copyfile() 函数,可以看做是 os 模块的补充。

删除

import os
import shutil

base_path = os.path.dirname(__file__)

path = os.path.join(base_path, 'img')
## 删除文件夹
shutil.rmtree(path)

拷贝

## 拷贝文件夹
shutil.copytree("./img","./img2")

src = os.path.abspath(__file__)
dst = os.path.join(os.path.dirname(__file__), "aaa.py")

## 文件到文件的拷贝,其中 dst 必须是文件
shutil.copyfile(src, dst)

## 文件拷贝,src 必须是文件,dst 可以是文件或者目录
shutil.copy(src, dst)

## 同上,但是拷贝的文件带着原有属性,类似于 Linux 系统里的 cp - p 命令
shutil.copy2(src, dst)

重命名 / 移动

移动一个文件或者目录到指定的位置,src 和 dst 都可以是文件或者目录。

shutil.move("./img/1.txt","./img/new.txt")
shutil.move("./img","./img_new")

压缩文件

## 压缩文件
## base_name 压缩后的文件
## format 压缩格式,例如:zip tar gztar bztar xztar
## root_dir 要压缩的文件夹路径
shutil.make_archive(base_name='datafile', format='zip', root_dir=path)

## 解压文件
## filename 要解压的压缩包文件
## extract_dir 解压的路径
## format 压缩文件格式
shutil.unpack_archive(filename='datafile.zip', extract_dir='./imgs', format='zip')

正文完
post-qrcode
 0
三毛
版权声明:本站原创文章,由 三毛 于2023-08-17发表,共计870字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)