组织文件

本文详细介绍了Python的shutil模块,涵盖了复制、移动、改名、删除文件与文件夹,以及使用send2trash模块的安全删除,同时涉及了目录遍历、zipfile压缩与解压,以及使用ZipFile进行文件操作。
摘要由CSDN通过智能技术生成

shutil模块-在Python程序中复制,移动,改名和删除文件

#复制文件
#将source处的文件复制到路径destination处的文件夹,如果destination是一个文件名,它将作为被复制文件的新名字。
shutil.copy(source,destination)
shutil.copytree(source,destination)#将复制整个文件夹,以及它的所有内容

#文件的移动和改名
shutil.move(source,destination)#将路径source处的文件夹移动到路径destination,并返回新位置的绝对路径的字符串
#倘若source和destination路径相同,最后的文件名不同即可起到改名的作用。

#永久删除文件和文件夹

 - os.unlink(path) #将参数path处的文件
 - os.rmdir(path)#将删除path处的文件夹,该文件夹必须为空,否则报错
 - shutil.rmtree(path)#将删除path处的文件夹,以及所包含的所有文件和文件夹
 #小技巧 当你使用循环删除文件时可以先使用print函数打印输出你要删除的文件,防止误删

#使用send2trash模块安全删除
send2trash.send2trash("删除文件名")#删除的文件将被放入回收站,可以恢复

遍历目录树
引自Python编程快速上手

import os
for folderName,subfolders,filenames in os.walk("C:\\delicious'):
	...
folderName:当前文件夹名称的字符串	C:\delicious
subfolders:当前文件夹中子文件夹的字符串的列表 cats walnut
filenames:当前文件夹中文件的字符串列表 spam.txt
其他文件夹依次类推

zipfile模块压缩文件

import zipfile,os
e=zipfile.ZipFile("test.zip")
e.namelist()#输出压缩文件中包含的所有文件和文件夹的字符串列表
['test/eggs2.py', 'test/']
s=e.getinfo('test/eggs2.py')#返回一个ZipInfo对象
s.file_size#ZipInfo对象的属性,表示原来文件的大小
10
s.compress_size#表示压缩后文件的大小
1
s.file_size/s.compress_size#得到压缩的效率
10.0
e.close()#假使没有使用close(),在程序结束之前无法手动访问文件,文件处在阻塞状态

解压缩

import zipfile,os
e=zipfile.ZipFile('test.zip')
e.extractall()#解压缩所有文件和文件夹
#假设传递一个参数给extractall('..'),解压缩文件将会放到此文件夹,如果这个文件夹不存在,则会被创建。
e.extract('namelist()返回的字符串列表中的一个(想要解压缩的一个文件)','将解压缩到的文件夹')#解压缩单个文件

创建和添加压缩文件

import zipfile
n=zipfile.ZipFile('new.zip','w')#以写模式打开一个文本文件,将会覆盖ZIP文件中所有的内容,'a',将以添加模式打开ZIP文件
n.write('test.txt',compress_type=zipfile.ZIP_DEFLATED)#第一个参数为要添加的文件名,第二个参数为压缩类型
n.close()
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值