Python基础 第九章
9.1基础概念
shutil模块:
shutil.copy()可将路径source处文件复制粘贴到路径处文件,如果destination是一个文件名,它将作为被复制文件的新名字,返回一个字符串。
永久删除文件和文件夹: 可使用os.unlik()删除path处的文件。
send2trash模块: 由于shutil.rmtrees()函数会不可恢复删除文件和文件夹,故使用此模块会将文件发送到垃圾箱或回收站,而非永久的删除。
遍历目录树: 假定需要对某个文件夹中的所有文件进行改名,处理每个文件,Python提供了os.walk()函数。
os.walk()函数被传入一个字符串值,即一个文件夹的路径。可在一个for循环语句中使用os.walk()函数,遍历目录树。os.walk()在循环的每次迭代中,返回3个值:
1.当前文件夹名称的字符串;
2.当前文件夹中子文件夹的字符串的列表;
3.当前文件夹中文件的字符串的列表。
用ziipfile模块压缩文件: zip文件可以包含许多其他文件的压缩内容,压缩一个文件会减少其大小。要读取zip文件的内容,必须创建一个zipfile独享,其对象在概念上与file对象相似。
zipfile对象有一个namelist()方法,返回zip文件中包含的所有文件和文件夹的字符串的列表。这些字符串可以传递给zipfile对象的getinfo()方法,返回一个关于特定文件的对象。
从zip文件中解压缩: zipfile对象的extractall()方法从zip文件中解压缩所有文件和文佳佳,放到当前目录中。
zipfile对象的extract()方法从zip文件中解压缩单个文件,继续交互式环境中的案例:
>>>exampleZip.extract('spam.txt')
'C:\\spam.txt'
>>>exampleZip.extract('spam.txt','C:\\some\\new\\folders')
>'C:\\some\\new\\folders\\spam.txt'
>>>exampleZip.close()
传递给extract()的字符串,必须匹配namelist()返回的字符串列表中的一个,或者可以向extract()传递第二个参数,将文件解压缩到指定的文件夹,而非当前工作目录。
9.2 习题
1、shutil.copy() 函数将拷贝一个文件,而shutil.copytree() 将拷贝整个文件夹,以及它的所有内容。
2、shutil.move() 函数用于重命名文件,以及文件移动。
3、send2trash 函数将一个文件或文件夹移到回收站,而shutil 函数将永久地删除文件和文件夹。
4、zipfile.ZipFile() 函数等价于open() 函数,第一个参数是文件名,第二个参数是打开ZIP 文件的模式(读、写或添加)。