一、拷贝,移动,改名
import shutil
old_file=r"C:\Users\ffm11\Desktop\AI.docx"
new_file=r"C:\Users\ffm11\Desktop\AI_new.docx"
# 拷贝文件和权限,不能覆盖目标文件
shutil.copy(old_file,new_file)
# 改变文件的属主和属组,只在linux中使用
shutil.chown(old_file,user="maple",group="python")
#拷贝文件并复制所有统计信息,如修改时间等。不能覆盖目标文件
shutil.copy2(old_file,new_file)
# 递归的去拷贝文件夹
src=r"C:\Users\ffm11\Desktop\机器学习"
dst=r"C:\Users\ffm11\Desktop\机器学习1"
shutil.copytree(src, dst)
# 递归的去删除文件
shutil.rmtree(dst)
# 递归的去移动文件,它类似mv命令,其实就是重命名。
shutil.move(src, dst)
# 复制文件,可以覆盖目标文件。
shutil.copyfile(src, dst)
二、文件的压缩和解压
import shutil
old_file=r"C:\Users\ffm11\Desktop\AI.docx"
new_file=r"C:\Users\ffm11\Desktop\AI_new.docx"
#将src目录下的所有文件压缩到dst目录下取名为机器学习1,压缩格式为tar
shutil.make_archive(dst+"/机器学习1",'tar',root_dir=src)
#将文件解压到文件
filename=r"C:\Users\ffm11\Desktop\机器学习1\机器学习1.tar"
extract_dir=r"C:\Users\ffm11\Desktop\机器学习2"
shutil.unpack_archive(filename, extract_dir)