python shutil_python之shutil模块

shutil模块是进行文件夹或者文件的拷贝,压缩,重命名等操作的第三方模块

下面我们来介绍一下shutil模块

1、shutil.copyfileobj,拷贝文件的内容

src = "c:/tmp/a_old.txt"

det = "c:/tmp/a_new.txt"

shutil.copyfileobj(open(src,"r"),open(det,"w"))

#执行上面这个命令,我们可以看到新建了一个a_new的文件,并把a_old中的内容拷贝到a_new中

2、shutil.copyfile,拷贝文件

shutil.copyfile(src,det)

#执行上面这个命令,我们可以看到新拷贝了一个a_new的文件

3、shutil.copymode,拷贝文件权限,其他信息比如内容,组,用户信息均不变

det = "c:/tmp/a_new_mode.txt"

shutil.copymode(src,det)

#使用这个命令,det要首先创建一个文件,我们可以看到这个文件的内容未变化

4、shutil.coypstat,拷贝文件的状态信息,这个命令也需要先创建然后一个文件,然后拷贝状态信息到目的文件,包括mode bits, atime, mtime, flags这些信息

det = "c:/tmp/a_new_stat.txt"

shutil.copystat(src,det)

5、shutil.copy,拷贝文件和权限

det = "c:/tmp/a_copy.txt"

shutil.copy(src,det)

6、shutil.copy2,拷贝文件和状态信息

det = "c:/tmp/a_copy2.txt"

shutil.copy2(src,det)

7、shutil.copytree,进行递归拷贝,默认软连接不拷贝

# shutil.copytree(src,des,symlinks=None,ignore=None)

#最简单的用户,进行递归拷贝,des这个文件夹要不存在,才可以执行成功,这个是拷贝a目录下的文件,而不会拷贝a这个目录本身

src = "c:/a"

dst = "c:/4"

# shutil.copytree(src,dst)

8、shutil.retree,递归删除文件

src = "c:/3"

shutil.rmtree(src)

9、shutil.move,递归的移动文件或者目录,原文件或者目录就不存在了

# shutil.move()

# src = "c:/4"

# shutil.move(src,"c:/4_new")

# src = "C:/4_new/b/c/d.txt"

# dst = "C:/4_new/f.txt"

# shutil.move(src,dst)

10、shutil.make_archive,压缩文件夹

# 下面是make_archive的参数

# base_name 压缩的目录或者名称,如果只有名称,则会在把压缩的文件放在当前目录

# format 压缩包的种类,zip tar bztar gztar

# root_dir 要压缩的文件夹路径

# owner 用户,默认是当前用户

# group 组,默认是当前组

# logger 用于记录日志文件,通常在logging.Logger对象

r = shutil.make_archive(base_name="e:/new/xxx",format="zip",root_dir="C:/2/")

print(r)

# e:\new\xxx.zip

# 这个命令的意思就是

# 压缩C:/2/这个目录下的所有文件夹和文件,然后创建zip压缩包,把zip压缩包放在e:/new/目录下,重命名为xxx,返回的值就是base_name的值

原文地址:http://www.cnblogs.com/bainianminguo/p/7141029.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值