python - 文件目录操作 之 文件目录 - shutil模块

目录

一、shutil模块函数目录

二、复制文件或内容

三、删除目录或文件

四、shutil.make_archive压缩文件夹

1.shutil.make_archive语法参数

2.shutil.make_archive案例


 

一、shutil模块函数目录

  • chown
  • collections
  • copy
  • copy2
  • copyfile
  • copyfileobj
  • copymode
  • copystat
  • copytree
  • disk_usage
  • errno
  • fnmatch
  • get_archive_formats
  • get_terminal_size
  • get_unpack_formats
  • getgrnam
  • getpwnam
  • ignore_patterns
  • make_archive
  • move
  • os
  • register_archive_format
  • register_unpack_format
  • rmtree
  • stat
  • sys
  • unpack_archive
  • unregister_archive_format
  • unregister_unpack_format
  • which

 

二、复制文件或内容

1  shutil.copyfileobj() 将文件内容到另一个文件
#copy文件内容到另一个文件,可以copy指定大小的内容
#将A的内容复制至B
import shutil
f1=open(r"E:\python\tempfile\Q1.txt",'r')
f2=open(r"E:\python\项目\Q3.txt",'a+')     #w+模式清空原有文件(无则建),再写入复制内容
shutil.copyfileobj(f1,f2,length=16*1024)

2  shutil.copyfile(src,dst) 直接复制文件
import shutil
shutil.copyfile(r"E:\python\tempfile\Q1.txt",r"E:\python\项目\Q4.txt")

3.shutil.copy(src,dst)  复制文件的内容以及权限
#复制文件的内容以及权限,先copyfile后copymode
#copy复制内容及权限
import shutil
shutil.copy(r"E:\python\tempfile\Q1.txt",r"E:\python\项目\Q5.txt")

4.shutil.copy2(src,dst) 复制文件内容以及所有状态信息
#复制文件的内容以及文件的所有状态信息。先copyfile后copystat
#copy2复制文件的内容以及文件的所有状态信息
import shutil
shutil.copy2(r"E:\python\tempfile\Q1.txt",r"E:\python\项目\Q6.txt")

5.shutil.copytree 复制目录所有文件,无则创建
#复制整个目录(文件夹)
import shutil
shutil.copytree(r"E:\python\项目",r"E:\python\项目1")

 

三、删除目录或文件

1.删除整个目录
shutil.rmtree(path[, ignore_errors[, onerror]]) 递归的去删除文件夹
只能用于删除文件夹,不能删除文件
import os ,shutil
shutil.rmtree(r"D:\qwe")
删除文件用os.remove()函数

2.移动目录或文件
(1)移动目录
-->当qwe文件夹存在时,整个123文件夹移动到qwe里面
-->当qwe文件夹不存在时,123文件夹会换名为qwe
import os ,shutil
shutil.move(r'D:\123',r"D:\qwe")

(2)移动文件
-->当qwe1文件夹存在时,文件顺利移动到qwe1里面
-->当qwe1文件夹不存在时,文件会换名为qwe1
import os ,shutil
shutil.move(r'D:\123\201701\20170114\HC GT US 20170110-20170113.txt',r"D:\qwe1")

 

四、shutil.make_archive压缩文件夹

1.shutil.make_archive语法参数

  • shutil.make_archive(base_name, format,...)
  • 创建压缩包并返回文件路径,例如:zip、tar
  • base_name: 压缩包的文件名,也可以是压缩包的路径。
  • format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar”
  • root_dir: 要压缩的文件夹路径(默认当前目录)
  • owner: 用户,默认当前用户
  • group: 组,默认当前组
  • logger: 用于记录日志,通常是logging.Logger对象

 

2.shutil.make_archive案例

#将 /Users/wupeiqi/Downloads/test 下的文件打包放置当前程序目录

import shutil
ret = shutil.make_archive("wwwwwwwwww", 'gztar', root_dir='/Users/wupeiqi/Downloads/test')
 
#将 /Users/wupeiqi/Downloads/test 下的文件打包放置 /Users/wupeiqi/目录
import shutil
ret = shutil.make_archive("/Users/wupeiqi/wwwwwwwwww", 'gztar', root_dir='/Users/wupeiqi/Downloads/test')

压缩文件夹
import os ,shutil
shutil.make_archive(r"D:\123",'gztar')

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值