1.复制单个文件到指定目录下
import os
import shutil
source = 'D:\\findtext\\test.txt' #注意:1.此处不支持把整个目录复制到另个文件夹下
destination = 'D:\\newfile' #注意:1.文件夹要存在,会生成一个newfile文件,而非在newfile文件夹下生成一个文件
shutil.copy(source,destination)
2.复制单个文件到另一个文件(覆盖另一个文件内容)
import os
import shutil
source = 'D:\\findtext\\test.txt'
destination = 'D:\\newfile\\test2.txt' #注意:1.test2.txt文件必须存在
shutil.copy(source,destination)
3.复制整个文件夹内容(子文件夹和子文件)到另一个新目录
import os
import shutil
source = 'D:\\findtext'
destination = 'D:\\newdir' #注意:newdir必须是未创建的目录,否则还要报错。
shutil.copytree(source,destination)
4.移动整个文件夹到另一个文件夹下
import os
import shutil
source = 'D:\\findtext'
destination = 'D:\\newdir'
shutil.move(source,destination)
5.移动单个文件到某个文件夹下,且改名
import os
import shutil
source = 'D:\\findtext\\test.txt'
destination = 'D:\\newdir\\newname.txt' #原来已有newname.txt文件
shutil.move(source,destination)
6.删除文件
import os
import shutil
source = 'D:\\findtext'
print(os.listdir(source))
for filename in os.listdir(source):
if filename.endswith('.rxt'):
print(filename)
os.unlink(source+'\\'+filename) #注意此处删除的时候路径要正确
print(os.listdir(source))
7.删除空文件夹
import os
import shutil
source = 'D:\\findtext'
print(os.listdir(source))
for filename in os.listdir(source):
if os.path.isdir(source+'\\'+filename)==True and len(os.listdir(source+'\\'+filename))==0 : #1.判断文件为文件夹 #2.文件夹下无其他文件
os.rmdir(source+'\\'+filename) #1.注意此处删除的时候路径要正确
print(os.listdir(source))
8.删除非空文件夹
import os
import shutil
source = 'D:\\findtext'
print(os.listdir(source))
for filename in os.listdir(source):
if(os.path.isdir(source+'\\'+filename))==True:
print(source+'\\'+filename)
shutil.rmtree(source+'\\'+filename) #1.注意此处删除的时候路径要正确 2.删除空的文件夹、非空的文件夹及内容
print(os.listdir(source))
9.删除指定文件。删除后的文件再垃圾箱里,还可以被恢复
import send2trash #注意事先要安装send2trash模块
source = 'D:\\findtext\\test.txt'
send2trash.send2trash(source)
10.用walk函数遍历目录
import os
source = 'D:\\findtext'
for folderName,subfolders,filenames in os.walk(source):
print ('当前目录为:'+folderName)
for subfolder in subfolders:
print(folderName+'目录下的:'+subfolder+'目录')
for filename in filenames:
print(folderName+'目录下的:'+filename+'文件')
print(' ')
11.将文件夹压缩为zip文件-1
import zipfile
newZip=zipfile.ZipFile('d:\\new.zip','w') # 第二个参数w代表覆盖模式
newZip.write('d:\\findtext',compress_type=zipfile.ZIP_DEFLATED)
newZip.close()
12.将文件夹压缩为zip文件-2
import zipfile,os
newZip=zipfile.ZipFile('d:\\new.zip','a') #用a添加模式,添加到压缩文件里
newZip.write('D:\\newdir',compress_type=zipfile.ZIP_DEFLATED)
newZip.close()
13.查看压缩文件里的文件
import zipfile,os
myzip=zipfile.ZipFile('d:\\my.zip')
print(myzip.namelist()) #打印压缩文件里第一级目录里的文件名称
info=myzip.getinfo('test.txt') #注意此处不能写成d:\\test.txt
print(info.file_size) #压缩前的文件大小
print(info.compress_size) #压缩后的文件大小