shulit库文件管理用法

shutil 是 Python 的一个内置库,提供了对文件和目录进行高级操作的函数集合。以下是一些常用的 shutil 库方法及其用法:

  1. 复制文件:使用 shutil.copy(src, dst) 可以复制单个文件。src 是源文件路径,dst 是目标路径,可以是文件路径或目录路径 。

  2. 复制目录:使用 shutil.copytree(src, dst) 可以复制整个目录及其内容。注意,目标目录 dst 不应该已经存在 。

  3. 移动文件/文件夹:使用 shutil.move(src, dst) 可以移动文件或文件夹到新位置。这在重命名文件时也很有用 。

  4. 删除文件:使用 shutil.remove(path) 可以删除单个文件 。

  5. 删除目录:使用 shutil.rmtree(path) 可以删除目录及其所有子目录和文件 。

  6. 创建压缩文件:使用 shutil.make_archive(base_name, format, root_dir=None, base_dir=None) 可以创建一个压缩文件。base_name 是压缩文件的基本名称,format 是压缩格式,如 'zip' 或 'tar' 。

  7. 解压缩文件:使用 shutil.unpack_archive(filename, extract_dir=None, format=None) 可以解压压缩文件到指定目录 。

  8. 查询磁盘使用情况:使用 shutil.disk_usage(path) 可以获取指定路径的磁盘使用情况,包括总容量、已使用和剩余容量 。

  9. 复制文件并保留元数据:使用 shutil.copy2(src, dst)shutil.copy() 类似,但会尝试保留文件的元数据,如最后访问时间和最后修改时间 。

  10. 自定义复制shutil.copy()shutil.copy2() 允许你复制文件,其中 shutil.copy2() 会复制更多的元数据 。这些方法大大简化了 Python 中对文件和目录的处理,特别是在需要进行大量文件操作的任务中,如备份或系统部署

  11. 复制单个文件

    import shutil
    shutil.copy('source_file.txt', 'destination_file.txt')

    复制文件并保留元数据

    shutil.copy2('source_file.txt', 'destination_file.txt')

    复制整个目录

    shutil.copytree('source_directory', 'destination_directory')

    移动文件或目录

    shutil.move('source_file_or_directory', 'destination_path')

    删除单个文件

    shutil.remove('file_to_remove.txt')

    删除整个目录树

    shutil.rmtree('directory_to_remove')

    创建压缩文件

    shutil.make_archive('archive_name', 'zip', 'directory_to_compress')

    解压压缩文件

    shutil.unpack_archive('archive_file.zip', 'destination_directory')

    查询磁盘使用情况

    disk_usage = shutil.disk_usage('/')
    print(f"Total: {disk_usage.total}, Used: {disk_usage.used}, Free: {disk_usage.free}")

    使用 ignore_patterns 忽略特定文件或目录

    def ignore_patterns(*patterns):
        return shutil.ignore_patterns(*patterns)
    
    shutil.copytree('source_directory', 'destination_directory', ignore=ignore_patterns('*.tmp', 'temp_dir'))

    查找可执行文件

    exe_path = shutil.which('python')
    if exe_path:
        print(f"Executable found at: {exe_path}")
    else:
        print("Executable not found.")

    注册和使用自定义归档格式

    def my_archive_format(name, base_dir, verbose=False):
        # Custom archive function
        pass
    
    shutil.register_archive_format('my_format', my_archive_format, description='My custom archive format')
    shutil.make_archive('archive_name', 'my_format', 'directory_to_compress')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值