1、shutil是shell

utility的缩写

shutil.move直接从一个地方挪到另一个地方,而os.rename常常只能重命名,不能挪动位置。

功能是:

>>>shutil.move('old.txt',r'c:datarchive')>>>shutil.copy('old.txt',r'c:datarchive')>>>os.remove('junk.dat')

2、高级文件操作(拷贝/移动/压缩/解压缩)


#!/usr/bin/env python
# coding=utf-8
__author__ = 'zhuo'
__date__ = '2017/5/25'
# shutil_demo.py 高级文件操作(拷贝 / 移动 / 压缩 / 解压缩)import shutildef shutil_demo():# 拷贝文件shutil.copy2('file.txt', 'temp.txt')# 拷贝目录shutil.copytree("root", "temp", symlinks=False, ignore=shutil.ignore_patterns("*.pyc"), copy_function=shutil.copy2, ignore_dangling_symlinks=True)# 删除目录shutil.rmtree("temp", ignore_errors=True)# 移动文件/目录shutil.move("root", "temp", copy_function=shutil.copy2)# 获取磁盘使用空间total, used, free = shutil.disk_usage(".")print("当前磁盘共: %iGB, 已使用: %iGB, 剩余: %iGB"%(total / 1073741824, used / 1073741824, free / 1073741824))# 压缩文件shutil.make_archive('Box', 'zip', 'temp')# 解压文件shutil.unpack_archive('Box.zip')def shutil_func():# 文件和目录操作# shutil.copyfileobj(fsrc, fdst[, length]) // 拷贝文件内容, 将fsrc文件里的内容copy到fdst文件中, length:缓冲区大小shutil.copyfileobj(open('file.txt', 'r'), open('temp.txt', 'w'))# shutil.copyfile(src, dst, *, follow_symlinks=True) // 拷贝文件内容, 同copyfileobj, 如果dst=src,抛SameFileError异常, dst存在则替换dst = shutil.copyfile('file.txt', 'temp.txt')# shutil.copymode(src, dst, *, follow_symlinks=True) // 仅拷贝权限, 其他信息不受影响shutil.copymode('file.txt', 'temp.txt')# shutil.copystat(src, dst, *, follow_symlinks=True) // 拷贝状态(权限 / 最后访问时间 / 上次修改时间 / 标志), 其他不受迎影响shutil.copystat('file.txt', 'temp.txt')# shutil.copy(src, dst, *, follow_symlinks=True) // 拷贝文件(数据 / 权限)dst = shutil.copy('file.txt', 'temp.txt')# shutil.copy2(src, dst, *, follow_symlinks=True) // 拷贝文件(尝试保留所有元数据) (不能拷贝创建时间,该时间可通过修改系统时间再创建文件来实现)dst = shutil.copy2('file.txt', 'temp.txt')# shutil.ignore_patterns(*patterns)# symlinks:True(复制链接) / False(复制文件), ignore=ignore_patterns("") // 忽略的文件, copy_function=自定义复制函数, ignore_dangling_symlinks:True(忽略文件不存在异常) / False(错误列表中添加异常)# shutil.copytree(src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False) // 递归的复制根目录下的整个目录树dst = shutil.copytree("root", "temp", symlinks=False, ignore=shutil.ignore_patterns("*.pyc"), copy_function=shutil.copy2, ignore_dangling_symlinks=True)# shutil.rmtree(path, ignore_errors=False, onerror=None) // 删除整个目录树, ignore_errors:是否忽略删除失败错误, onerror=def error(func, path, excinfo)shutil.rmtree("temp", ignore_errors=True)# shutil.move(src, dst, copy_function=copy2) // 递归移动文件/目录, 目录存在则移动目录, 文件存在则覆盖dst = shutil.move("root", "temp", copy_function=shutil.copy2)total, used, free = shutil.disk_usage(".")  # 给定路径的磁盘使用情况统计信息# shutil.chown(path, user=None, group=None) // 修改用户和组 (Unix可用)# shutil.which(cmd, mode=os.F_OK | os.X_OK, path=None) // 可执行文件路径, path:要查找的路径,未指定使用os.environ的结果path_str = shutil.which("python")# 异常try: passexcept shutil.SameFileError: pass  # copyfile()时,源和目录是同一个文件时,抛此异常except shutil.Error: pass  # copytree()时, 多文件操作时引发的异常, 异常包含(srcname, dstname, excinfo)# 压缩文件操作 (封装了zipfile / tarfile)# 创建归档文件 base_name:压缩包文件名, format:格式 zip / tar / bztar / xztar / gztar, root_dir:被归档的根目录(默认当前目录)# base_dir:保存归档文件的目录(默认当前目录) verbose:已弃用 dry_run:True(不创建归档,但记录日志), owner:用户, group:用户组, logger:日志# shutil.make_archive(base_name, format[, root_dir[, base_dir[, verbose[, dry_run[, owner[, group[, logger]]]]]]])dst = shutil.make_archive('Box', 'zip', 'temp')  # 注意:root_dir / base_dir至少写一个,不然会造成压缩包再次被打包的情况# 分拆归档, filename:文件名, extract_dir:解压到目录(默认当前目录), format:格式 (未提供,根据扩展名查找,未找到引发ValueError)# shutil.unpack_archive(filename[, extract_dir[, format]])shutil.unpack_archive('Box.zip')lists = shutil.get_archive_formats()  # 返回支持的归档格式列表[(format, info)]lists = shutil.get_unpack_formats()  # 返回所有注册格式的列表[(name, extensions, description)]# 注册压缩格式, name:格式名, function:def func(base_name, base_dir, owner, group, dry_run, logger), extra_args:额外参数, description:说明信息# shutil.register_archive_format(name, function[, extra_args[, description]])# shutil.unregister_archive_format(name) // 注销压缩格式# 注册解压格式 name:格式名, extensions:扩展名列表, function:实现函数 def unpack(filename, extract_dir), extra_args:额外参数(name, value), description:说明# shutil.register_unpack_format(name, extensions, function[, extra_args[, description]])# shutil.unregister_unpack_format(name) // 注销解压格式# 终端# shutil.get_terminal_size(fallback=(columns, lines))columns, lines = shutil.get_terminal_size()  # 查询终端大小(宽, 高), 无法查询返回默认大小(80, 24)if __name__ == "__main__":shutil_demo()# shutil_func()

[06]python3 shutil高级文件操作模块相关推荐

  1. Python3 shutil(高级文件操作 模块)

    原文: http://blog.csdn.net/Rozol/article/details/72672698 #!/usr/bin/env python # coding=utf-8 __autho ...

  2. python shutil_Python3 shutil(高级文件操作模块)

    1.shutil是shell utility的缩写 shutil.move直接从一个地方挪到另一个地方,而os.rename常常只能重命名,不能挪动位置. 功能是:>>>shutil ...

  3. python中shutil模块的用法-高级文件操作模块

    目录 前言 一.shutil是什么? 二.使用步骤 1. 安装shutil库 2. shutil库的使用 3. 复制函数 3.1 shutil.copy(src,dst) ==> 拷贝文件和权限 ...

  4. Python内置模块---高级文件操作模块

    高级文件操作模块 code: # ************************************************************* """ 高级 ...

  5. Python零基础速成班-第8讲-Python文件操作File IO、高级文件处理模块shutil、CSV、JSON、多线程基础

    Python零基础速成班-第8讲-Python文件操作File I&O.高级文件处理模块shutil.CSV.JSON.多线程基础 学习目标 文件操作File I/O 高级文件处理模块shut ...

  6. windows定时任务python shutil_python- shutil 高级文件操作

    简介 shutil模块提供了大量的文件的高级操作.特别针对文件拷贝和删除,主要功能为目录和文件操作以及压缩操作.对单个文件的操作也可参见os模块. 拷贝文件 shutil.copyfile(src, ...

  7. supersu-v2.8.2.zip_术业有专攻:ZIP文件操作模块zipfile

    本文约2380字,建议阅读时间12~15分钟 关键字:python,zip,压缩文件,zipfile python标准库中提供了主流压缩文件格式(如gz.tar.zip等)的压缩与解压,如操作gz格式 ...

  8. python3csv与xlsx文件操作模块(csv、xlsxwriter)

    目录 一.csv模块实现csv文件操作 1.CSV介绍 2.CSV常用类与方法 二.xlsxwriter模块,实现Excel文件操作 1.Xlsx Writer模块的安装 2.Xlsx Writer模 ...

  9. Python基础语法全体系 | 文件IO与常用文件操作模块

    <Python基础语法全体系>系列博文第六篇,本篇博文将讲解Python的文件IO操作,包括文件的打开.读取和写入.本文整理自疯狂python编程. 文章目录 使用pathlib操作目录 ...

最新文章

  1. 生物工程学报-微生物组测序与分析专刊-邀请函
  2. 孙正义万字访谈:AI是我现在唯一关注的事情,我是科技的绝对信徒
  3. Qt读取ini配置文件
  4. LeetCode 30串联所有单词的子串31下一个排列
  5. 数据可视化【二】HTML+CSS+SVG+D3
  6. N1CTF 塞题vote分析
  7. 使用Python requests post上传图片及示例demo
  8. 微型计算机实验四答案,微型计算机技术实验指导书的答案.doc
  9. mysql验证身份证号正确_通过SQL校验身份证号码是否正确
  10. CISCO路由器的备份与还原(1)
  11. 001 Python中的变量和字符串
  12. python爬虫百度翻译997_python爬取百度翻译返回:{'error': 997, 'from': 'zh', 'to': 'en', ......
  13. python做一个http接口测试框架
  14. 小程序的1024KB
  15. autocad不能画图_最新AutoCAD软件+插件合集+视频讲解,高效实用,限时领
  16. 从高德地图获取城市地铁线路+站点
  17. linux系统需要英语好吗,英语不好,基本上没有条件去做Linux工作了
  18. 腾讯云对象存储操作流程
  19. android 模拟器后缀名,apk是什么文件?apk文件模拟器是什么?
  20. 关于SNES9X的编译

热门文章

  1. leet-code Z 字形变换详解
  2. 王恩东:摩尔定律的终结本质上是没有革命性技术
  3. 第一章:你的编程入门了吗?养成良好的编程思维
  4. Unity 打包IOS平台错误
  5. 通过Akka学习指数退避(Exponential Backoff)
  6. 计算机网络自顶向下方法(二)——应用层
  7. 基于区块链的去中心化存储(区块链存储)的工作流程
  8. MyBatis级联查询
  9. 文科妹学 GitHub 简易教程(转)
  10. session是什么