shutil是对OS中文件操作的补充:移动、复制、打包、压缩、解压。

1.copy文件内容到另一个文件,可以copy指定大小的内容。

shutil.copyfileobj(fsrc, fdst[, length=16*1024])

# 注意!fsrc, fdst都是文件对象,需要打开后才能进行复制
import shutil
f1 = open('name', 'r')
f2 = open('name_copy', 'w+')
shutil.copyfileobj(f1, f2, length=16*1024)

2.copyfileobj文件复制需要用open函数打开文件;copyfile不需要。

shutil.copyfile(src, dst)

# 一句话实现复制文件内容
shutil.copyfile('name', 'name_copy_2')

3.仅copy权限,不更改文件内容、组和用户。

shutil.copymode(src, dst)

# test1,test2文件存在,执行copymode不会出错
>>> import shutil
>>> shutil.copymode('test1', 'test2')
# 目标文件不存在时会报错,此处test3文件不存在
>>> shutil.copymode('test1', 'test3')
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "/usr/local/python/lib/python3.4/shutil.py", line 132, in copymode
  chmod_func(dst, stat.S_IMODE(st.st_mode))
FileNotFoundError: [Errno 2] No such file or directory: 'test233'

4.复制所有的状态信息,包括权限,组,用户,时间等。

shutil.copystat(src,dst)

5.复制文件的内容以及权限,先copyfile后copymode。

shutil.copy(src,dst)

6.复制文件的内容以及文件的所有状态信息。先copyfile后copystat。

shutil.copy2(src,dst)

7.递归的复制文件内容及状态信息。

shutil.copytree(src, dst, symlinks=False, ignore=None, copy_function=copy2,ignore_dangling_symlinks=False) 

8.递归地删除文件。

shutil.rmtree(path, ignore_errors=False, onerror=None)

9.递归的移动文件。

shutil.move(src, dst)

10.压缩打包。

make_archive(base_name, format, root_dir=None, base_dir=None, verbose=0,dry_run=0, owner=None, group=None, logger=None)

最新文章

  1. pgsql 建数据库注意事项
  2. POJ2104 K-TH NUMBER 传说中的主席树
  3. 【转】HTML转义字符大全
  4. ThinkPHP 3.2.3 中设置和使用 Session
  5. c++中endl的函义
  6. UI设计基础百科
  7. GPIO
  8. WPF中如何使用图像API进行绘制
  9. SQL Server 数据库游标选项
  10. 【Python项目】配合爱漫画爬取漫画脚本而设计的GUI漫画阅读器 (一)
  11. SQL Server 开发利器 SQL Prompt 6.5 T-SQL智能感知分析器 下载地址 完全破解+使用教程
  12. golang 轮训加密算法
  13. Python面试真题第四节
  14. Warning: mysqli_connect(): The server requested authentication method unknown to the client [caching_sha2_password]报错解决方法
  15. Mysql 远程连接服务器
  16. AI 玩法整理
  17. 暑假里的第八篇Java
  18. python 词云小demo
  19. html的空格和换行显示
  20. 函数使用四:采购发票MIRO BAPI_INCOMINGINVOICE_CREATE

热门文章

  1. css技巧-案例
  2. Context initialization failed
  3. bzoj1019 / P4285 [SHOI2008]汉诺塔
  4. Python学习基础(三)——装饰器,列表生成器,斐波那契数列
  5. 缩点:Power Plant;
  6. opencv学习之路(16)、膨胀腐蚀应用之走迷宫
  7. ubuntu18.04 安装新版本openssl
  8. ODAC(V9.5.15) 学习笔记(四)TCustomDADataSet(4)
  9. Python 必备好库 - 好工具收藏
  10. shell编程(四)之循环控制语句(for,while,until,break,continue,case)