一、简介

shutil – Utility functions for copying and archiving files and directory trees.(用于复制和存档文件和目录树的实用功能。)

二、实例

#!/usr/bin/python3
# -*- coding:utf-8 -*-
__author__ = 'mayi'
__date__ = '2018/4/17' """
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
博客:http://www.cnblogs.com/mayi0312/
功能:shutil模块的使用
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
""" import shutil # 1 shutil.copyfileobj(fsrc, fdst[, length=16*1024])
# copy文件内容到另一个文件,可以copy指定大小的内容
# 注意! 在其中fsrc,fdst都是文件对象,都需要打开后才能进行复制操作
f1 = open("1.txt", "r")
f2 = open("2.txt", "w+")
shutil.copyfileobj(f1, f2) # 2 shutil.copyfile(src,dst)
# copy文件内容,是不是感觉上面的文件复制很麻烦?还需要自己手动用open函数打开
# 文件,在这里就不需要了,事实上,copyfile调用了copyfileobj
shutil.copyfile("1.txt", "3.txt") # 3 shutil.copymode(src,dst)
# 仅copy权限,不更改文件内容,组和用户。
shutil.copymode("1.txt", "3.txt") # 4 shutil.copystat(src,dst)
# 复制所有的状态信息,包括权限,组,用户,时间等
shutil.copystat("1.txt", "3.txt") # 5 shutil.copy(src,dst)
# 复制文件的内容以及权限,先copyfile后copymode
shutil.copy("1.txt", "4.txt") # 6 shutil.copy2(src,dst)
# 复制文件的内容以及文件的所有状态信息。先copyfile后copystat
shutil.copy2("1.txt", "5.txt") # 7 shutil.copytree(src, dst, symlinks=False, ignore=None, copy_function=copy2,ignore_dangling_symlinks=False)
# 递归的复制文件内容及状态信息
shutil.copytree("1", "2") # 8 shutil.rmtree(path, ignore_errors=False, onerror=None)
# 递归地删除文件
shutil.rmtree("2") # 9 shutil.move(src, dst)
# 递归的移动文件
shutil.move("1", "2") # 10 make_archive(base_name, format, root_dir=None, base_dir=None, verbose=0,dry_run=0, owner=None, group=None, logger=None)
# 压缩打包
# base_name: 压缩打包后的文件名或者路径名
# format: 压缩或者打包格式 "zip", "tar", "bztar"or "gztar"
# root_dir: 将哪个目录或者文件打包(也就是源文件)
shutil.make_archive("压缩包", "zip", r"2") # 入口函数
if __name__ == '__main__':
pass

  

最新文章

  1. Android Build System
  2. Bitmap的分析与使用.md
  3. many-to-one和one-to-many的配置比较
  4. Spring+SpringMVC+MyBatis+easyUI整合基础篇(十二)阶段总结
  5. C语言截取从某位置开始指定长度子字符串方法
  6. centos7生产环境下openssh升级
  7. [No0000136]6个重要的.NET概念:栈,堆,值类型,引用类型,装箱,拆箱
  8. Creazy Ideas 智能汽车和智能交通
  9. 【刷题】BZOJ 3512 DZY Loves Math IV
  10. 洛谷P2894 [USACO08FEB]酒店Hotel [线段树]
  11. 【转】mybatis 自增主键配置
  12. sql中非存储过程定义参数并使用
  13. Abp中SwaggerUI的接口说明文档配置
  14. Access中替代case when的方法 .
  15. 第七章 使用 MyBatis API(MyBatis)
  16. vscode中的vue文件中emmet进行tab键不起作用
  17. git-【九】基本常用命令
  18. jsp页面struts2标签展示clob类型的数据
  19. 【BZOJ2151】种树(贪心)
  20. JavaWeb知识回顾-Servlet常用类、接口及其方法

热门文章

  1. MySQL主从复制与读写分离概念及架构分析
  2. c++开发ocx入门实践三--基于opencv的简易视频播发器ocx
  3. 面向对象之property
  4. MyEcplise使用---使用 MyEclipse 反转引擎生成数据库
  5. February 8 2017 Week 6 Wednesday
  6. 一个asp.net小项目总结
  7. 为什么S/4HANA的销售订单创建会触发生产订单的创建
  8. [零基础学JAVA]Java SE基础部分-03. 运算符和表达式
  9. 【JAVA EE企业级开发四步走完全攻略】
  10. TypeScript----类