python基础-shutil模块

JamesRayMurphy 2020-05-08

shutil模块

复制文件:shutil.copy2

import shutil

# shutil.copy2(源文件, 目标文件)   复制
shutil.copy2(r"C:\Users\Desktop\学习\python基础\day20 其他\qidian_chongwen.html",
             r"C:\Users\Desktop\学习\python基础\day20 其他\qidian_chongwen_bk.html")

复制目录:

# shutil.copytree(源目录,新目录,ignore)
# 新目录已存在时,不会覆盖,直接报错
shutil.copytree(r"C:\Users\Desktop\学习\python基础\day20 其他\aa\bb",
                r"C:\Users\Desktop\学习\python基础\day20 其他\aa\bb_bk",    
                ignore=shutil.ignore_patterns("*.log")   # 设置忽略拷贝的文件
                )

# 忽略文件传参
# shutil.copytree(源目录, 新目录, ignore = shutil.ignore_patterns(参数1, 参数2, 参数3))
shutil.copytree(r"C:\Users\Desktop\学习\python基础\day20 其他\aa\bb",
                r"C:\Users\Desktop\学习\python基础\day20 其他\aa\bb_bk1",
                ignore=shutil.ignore_patterns("*.log", "a.txt", "*.html")  # 设置忽略拷贝的文件
                )

移动目录:

# shutil.move(源目录,新目录,copy——funcition)  相当于复制到什么地方,然后再把源目录删除

shutil.move(r"C:\Users\Desktop\学习\python基础\day20 其他\aa\bb_bk1",
            r"C:\Users\Desktop\学习\python基础\day20 其他",
            copy_function=shutil.copy2)

shutil.move(r"C:\Users\Desktop\学习\python基础\day20 其他\bb_bk1",
            r"C:\Users\Desktop\学习\python基础\day20 其他\aa",
            copy_function=shutil.copy2)

查看磁盘空间:

# 查看当前磁盘的使用空间   1073741824 = 1024 * 1024 *1024

# 1kb = 1024bytes

# 1MB = 1024*1024

# 1G = 1024*1024*1024

total, used, free = shutil.disk_usage(".")
print(f"当前磁盘共:%iGB, 已使用%iGB, 剩余%iGB" % (total/1073741824, used/1073741824, free/1073741824))

压缩文件:

# shutil_make_archive(压缩后文件名, 压缩方式, 压缩文件路径)   压缩后文件在当前代码文件同级目录

shutil.make_archive("aa_z", "zip", r"C:\Users\Desktop\学习\python基础\day20 其他\aa")

解压文件:

# 解压至当前执行文件目录

shutil.unpack_archive("aa_z.zip")

# 解压至指定位置

# shutil.unpack_archive(解压文件名, 解压到的目录路径)

shutil.unpack_archive("aa_z.zip", r"C:\Users\Desktop\学习\python基础\day20 其他\cc")\cc")

相关推荐