编程语言
首页 > 编程语言> > 组织文件---Python读书笔记(十)

组织文件---Python读书笔记(十)

作者:互联网

文章目录


前言

一、shutil模块

shutil模块中包含一些函数,能复制、移动、删除、改名文件。

1、复制文件和文件夹

shutil.copy(source,destination)
#将路径source处的文件复制到路径destination处的文件夹;
#如果ddestination是一个文件名,将作为被复制文件的新名字
#函数返回一个字符串,表示被复制的路径
import shutil,os
os.chdir('/Users')
#destination是一个路径
shutil.copy('/Users/qwe/Desktop/产品.docx','/Users/qwe/Desktop/pyrhon_work')
#destination是一个文件名
shutil.copy('/Users/qwe/Desktop/产品.docx','/Users/qwe/Desktop/pyrhon_work/jianli.docx')
/Users/qwe/Desktop/pyrhon_work/产品.docx
/Users/qwe/Desktop/pyrhon_work/jianli.docx
 #shutil.copytree()复制整个文件夹,以及它包含的而文件和文件夹
 os.chdir('/Users')
 r=shutil.copytree('/Users/qwe/Desktop/becan','/Users/qwe/Desktop/becan_kup')

2、文件和文件夹的移动与改名

#shutil.move(source,destination);
#将路径source处的文件复制到路径destination处的文件夹;
#函数返回新位置的绝对路径的字符串。
#如果destination指向一个文件夹,source文件将移动到destination中,并保持原来的文件名。
shutil.move('/Users/qwe/Desktop/pyrhon_work/answerfile18.txt','/Users/qwe/Desktop')
#如果destination是一个文件名,source文件会被改名。
shutil.move('/Users/qwe/Desktop/pyrhon_work/answerfile24.txt','/Users/qwe/Desktop/ans.txt')
#如果destination不存在,Python会假定这个文件而不是文件夹,answerfile25.txt文本文件被改名为www,没有txt文件扩展名的文本文件
shutil.move('/Users/qwe/Desktop/pyrhon_work/answerfile25.txt','/Users/qwe/Desktop/www')
/Users/qwe/Desktop/answerfile18.txt
/Users/qwe/Desktop/ans.txt
/Users/qwe/Desktop/www

3、永久的删除文件和文件夹

import os
import shutil
for filename in os.listdir('/Users/qwe/Desktop/pyrhon_work/未命名文件夹'):
	if filename.endswith('.txt'):
		os.unlink(filename)
import os
import shutil
os.rmdir('/Users/qwe/Desktop/pyrhon_work/未命名文件夹')
import os
import shutil
shutil.rmtree('/Users/qwe/Desktop/1')

4、用send2trash模块安全删除

因为shutil.rmtree 永久的删除文件不可恢复,而send2trash会将文件和文件夹发送到计算机回收站,不会永久删除。

二、遍历目录树os.walk()

os.walk()返回3个值:

import os
import shutil
for folderName,subfolders,fileNames in os.walk('/Users/qwe/Desktop'):
	print("这个文件名是:"+folderName)
	for subfolder in subfolders:
		print("子文件夹的"+folderName+':'+subfolder)
	for fileName in fileNames:
		print("文件夹中的文件名"+folderName+':'+fileName)

三、用zipfile模块压缩文件

1、读取ZIP文件

import os,zipfile
os.chdir('/Users/qwe/Desktop')
#创建一个ZipFile对象
examplezip=zipfile.ZipFile('/Users/qwe/Desktop/练习答案.zip')
#调用ZipFile对象的namelist方法,赋值给变量
filelist=examplezip.namelist()
#遍历返回的字符串列表
for x in filelist:
	#调用getinfo()
	file=examplezip.getinfo(x)
	filesize=file.file_size
	filecompress=file.compress_size
	print("压缩前的文件大小是:"+str(filesize)+','+"压缩后的而文件大小是:"+str(filecompress))
压缩前的文件大小是:0,压缩后的而文件大小是:0
压缩前的文件大小是:47385,压缩后的而文件大小是:44435
压缩前的文件大小是:27512,压缩后的而文件大小是:24545
压缩前的文件大小是:601341,压缩后的而文件大小是:522965
压缩前的文件大小是:736058,压缩后的而文件大小是:690380
压缩前的文件大小是:220362,压缩后的而文件大小是:197697

2、从ZIP文件中解压

examplezip=zipfile.ZipFile('/Users/qwe/Desktop/配套资源翻译.zip')
examplezip.extractall('/Users/qwe/Desktop/配套资源翻译')
examplezip.close()

3、创建和添加到ZIP文件

examplezip=zipfile.ZipFile('abc.zip','w')
examplezip.write('/Users/qwe/Desktop/12杰.xlsx','compress_typr=zipfile.ZIP_DEFLATED')

标签:文件大小,Users,读书笔记,Python,qwe,Desktop,---,文件夹,shutil
来源: https://blog.csdn.net/weixin_49129367/article/details/111009706