Python中的文件操作:shutil模块详解
shutil
高级的 文件,文件夹,压缩包 处理模块
正常把一个文件的内容拷贝到另外一个文件
s = file("test.py")
d = file("test_copy.py","wd")
d.write(s.read())
d.close()
使用shutil拷贝模块
import shutil
s = file("test.py")
d = file("test_copy.py","wb")
shutil.copyfileobj(s,d) #前面是源后面是目的
d.close()
使用这种方法可以指定从那个个字符开始拷贝
shutil.copyfileobj(s,d,length=2) 从第三个字符开始拷贝前面两个字符舍弃,一般直接拷贝整个文件
还有一种更加简单的方式拷贝,不用打开读取关闭文件了
shutil.copyfile("test.py","test_copy.py")
保留原有权限mtime信息
shutil.copystat("test.py","test_copy.py")
拷贝一个目录
shutil.copytree("1","2")
删除一个目录
shutil.rmtree("2")
压缩
shutil.make_archive("1_archive",format="zip",root_dir="1")
1_archive压缩后文件名,压缩格式为zip 压缩的目录为1,压缩完成后会自动在文件名后加扩展名zip
解压unzip 1_archive.zip
出错了
换一种压缩格式
shutil.make_archive("1_archive",format="gztar",root_dir="1")
PS:zip的压缩机制如果文件夹里面为空则不压缩
推荐阅读
-
详细讲解如何在Python中操作tar归档文件的压缩与解压实例
-
如何在Python中操作tar.gz文件的压缩与解压缩
-
详解Linux中tar工具如何轻松压缩与解压文件和文件夹的操作步骤
-
在Ubuntu中详解tar命令:轻松掌握.tar文件的压缩与解压操作以及关键参数选项
-
理解Python多线程中的join方法:拆解Threading模块的使用详解
-
在Node.js中实现JavaScript操作Shell命令的多种方法:child_process模块详解
-
简单易懂!详解Python Queue模块的基本操作与应用
-
用PyYAML库在Python中操作yaml文件的读写
-
详解Python中的图像边缘检测操作指南
-
Python OS模块中的chmod方法详解