文件操作
- 文件复制
- copyfileobj
- copyfile
- copy ```python from shutil import copyfileobj, copyfile, copy
将文件类对象 fsrc 的内容拷贝到文件类对象 fdst
fs = open(‘test-log.log’, ‘r’) ft = open(‘./mkdir/test.log’, ‘w’) copyfileobj(fsrc=fs, fdst=ft)
将名为 src 的文件的内容(不包括元数据)拷贝到名为 dst 的文件并返回 dst
copyfile(src=’test-log.log’, dst=’./mkdir/test1.log’)
将文件 src 拷贝到文件或目录 dst
copy(src=’test-log.log’, dst=’./mkdir/test2.log’)
2. 删除1. **rmtree**```pythonfrom shutil import rmtree# 删除目录rmtree('./mkdir')
- 其他
- disk_usage
- which ```python
from shutil import disk_usage, which
获取当前目录所在硬盘使用情况
print(disk_usage(‘./mkdir’))
“”” usage(total=494384795648, used=177334337536, free=300292165632) “””
获取给定的cmd命令的可执行文件的路径
print(which(‘python3’))
“”” /Users/zaygee/work_script/env/bin/python3 “””
<a name="Qlyya"></a>#### 文件解压缩1. 压缩文件1. **make_archive**- base_name:压缩文件的文件名,不允许有扩展名,因为会根据压缩格式生成相应的扩展名- format:压缩格式- root_dir:将制定文件夹进行压缩```pythonfrom shutil import make_archive# 生成压缩文件base_name = PurePath.joinpath(Path(__file__).parent, 'mkdir')for_mat = 'zip'root_dir = PurePath.joinpath(Path(__file__).parent, 'mkdir')make_archive(base_name=base_name, format=for_mat, root_dir=root_dir)
- 解压文件
- unpack_archive
- filename:文件路径
- extract_dir:解压至的文件夹路径。文件夹可以不存在,会自动生成
- format:解压格式,默认为None,会根据扩展名自动选择解压格式 ```python from shutil import unpack_archive
解压文件
zippath = PurePath.joinpath(Path(_file).parent, ‘mkdir.zip’) unpack_archive(filename=zip_path, extract_dir=’./mkdir_zip’) ```
