详解Python_shutil模块

yipeiwu_com6年前Python基础

import shutil

高级的文件,文件夹,压缩包的处理模块,也主要用于文件的拷贝

shutil.copyfileobj(fsrc,fdst[,length]):  将文件的内容拷贝到另一个文件(可以指定length长度进行拷贝)

import shutil
shutil.copyfileobj(open('old.txt','r'),open('new.txt','w'))

shutil.copyfile(src,dst):  拷贝文件

import shutil
shutil.copyfile('f1.log','f2.log')

shutil.copymode(src,dst):  仅拷贝权限,内容、组、用户均不变

import shutil
shutil.copymode('f1.log', 'f2.log')

shutil.copystat(src,dst):  拷贝状态的信息,包括:mode bits,atime,mtime,flags

import shutil
shutil.copystat('f1.log', 'f2.log')

shutil.copy(src,dst):  拷贝文件和权限

import shutil
shutil.copy('f1.log', 'f2.log')

shutil.copy2(src,dst):  拷贝文件和状态信息

import shutil
shutil.copy2('f1.log', 'f2.log')

shutil.copytree(src,det,symlinks=False,ignore=None):  递归的去拷贝文件

import shutil
shutil.copytree('folder1', 'folder2', ignore=shutil.ignore_patterns('*.pyc', 'tmp*'))

shutil.rmtree(path[,ignore_errors[,onerror]]):  递归的去删除文件

import shutil
shutil.rmtree('folder1')

shutil.move(src,dst):  递归的去移动文件(重命名)

import shutil
shutil.move('folder1', 'folder3')

shutil.make_archive(base_name, format,...):  创建压缩包并返回文件路径,例如:zip、tar

base_name: 压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径(例:Presley=>保存至当前路径,/User/Presley =>保存至/Users/路径下)
format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar”
root_dir: 要压缩的文件夹路径(默认当前目录)
owner: 用户,默认当前用户
group: 组,默认当前组

import shutil
z = shutil.make_archive('presly', 'gztar', root_dir='D:\软件下载')

shutil对压缩包的处理,也可调用zipfile或tarfile模块进行压缩

以上所述是小编给大家介绍的Python_shutil模块详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

python scipy求解非线性方程的方法(fsolve/root)

python scipy求解非线性方程的方法(fsolve/root)

使用scipy.optimize模块的root和fsolve函数进行数值求解线性及非线性方程,下面直接贴上代码,代码很简单 from scipy.integrate import o...

python中import reload __import__的区别详解

import 作用:导入/引入一个python标准模块,其中包括.py文件、带有__init__.py文件的目录(自定义模块)。 import module_name[,module...

python 遍历目录(包括子目录)下所有文件的实例

如下所示: def list_all_files(rootdir): import os _files = [] list = os.listdir(rootdir) #列出文...

Python 中 Meta Classes详解

接触过 Django 的同学都应该十分熟悉它的 ORM 系统。对于 python 新手而言,这是一项几乎可以被称作“黑科技”的特性:只要你在models.py中随便定义一个Model的子...

基于python中__add__函数的用法

运算符重载 _add ##定义:让自定义的类生成的对象(实例)能够使用运算符进行操作 class Vector01: ‘'‘定义一个一维向量''' def init(self,x...