文件操作

  1. 文件复制
    1. copyfileobj
    2. copyfile
    3. 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’)

  1. 2. 删除
  2. 1. **rmtree**
  3. ```python
  4. from shutil import rmtree
  5. # 删除目录
  6. rmtree('./mkdir')
  1. 其他
    1. disk_usage
    2. 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 “””

  1. <a name="Qlyya"></a>
  2. #### 文件解压缩
  3. 1. 压缩文件
  4. 1. **make_archive**
  5. - base_name:压缩文件的文件名,不允许有扩展名,因为会根据压缩格式生成相应的扩展名
  6. - format:压缩格式
  7. - root_dir:将制定文件夹进行压缩
  8. ```python
  9. from shutil import make_archive
  10. # 生成压缩文件
  11. base_name = PurePath.joinpath(Path(__file__).parent, 'mkdir')
  12. for_mat = 'zip'
  13. root_dir = PurePath.joinpath(Path(__file__).parent, 'mkdir')
  14. make_archive(base_name=base_name, format=for_mat, root_dir=root_dir)
  1. 解压文件
    1. 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’) ```