随笔记录方便自己和同路人查阅。
#------------------------------------------------我是可耻的分割线-------------------------------------------
假如你想把一个路径下的某格式文件都压缩到一个zip文件中,如果文件较多,手动压缩可能会比较繁琐和麻烦,重要的是还可能重复压缩,所以你希望有
一段程序帮你完成这个繁琐且容易出错的工作。
#------------------------------------------------我是可耻的分割线-------------------------------------------
示例代码:
#! python 3
# -*- coding:utf-8 -*-
# Autor: Li Rong Yang
'''
Copy指定格式的文件到新文件夹
'''
import shutil,os,zipfile
#定义函数,接收传入的值
def SFileToDFile(sourcefile,fileclass,destinationfile):
#遍历目录和子目录
for filenames in os.listdir(sourcefile):
#取得文件或文件名的绝对路径
filepath = os.path.join(sourcefile,filenames)
#判断是否为文件夹
if os.path.isdir(filepath):
#如果是文件夹,重新调用该函数
SFileToDFile(filepath,fileclass,destinationfile)
#判断是否为文件
elif os.path.isfile(filepath):
#如果该文件的后缀为用户指定的格式,则把该文件复制到用户指定的目录
if filepath.endswith(fileclass):
#dirname = os.path.split(filepath)[-1]
#给出提示信息
print('Copy %s'% filepath +' To ' + destinationfile)
#压缩该文件到指定目录
zipfile_name = zipfile.ZipFile('D:\\zip.zip','a')
zipfile_name.write(filepath)
zipfile_name.close()
#函数调用
SFileToDFile('d:\\quiz','.txt','d:\\test')
运行结果: