python处理文件夹,python实现操作文件(文件夹)

本文实例为大家分享了pyhton操作文件的具体代码,供大家参考,具体内容如下

copy_file

功能:将某个文件夹下的所有文件(文件夹)复制到另一个文件夹

#! python 3

# -*- coding:utf-8 -*-

# Autor: GrayMac

import shutil

import os

basefileclass = 'basefile'

#sourcefile:源文件路径 fileclass:源文件夹 destinationfile:目标文件夹路径

def copy_file(sourcefile,fileclass,destinationfile):

#遍历目录和子目录

for filenames in os.listdir(sourcefile):

#取得文件或文件名的绝对路径

filepath = os.path.join(sourcefile,filenames)

#判断是否为文件夹

if os.path.isdir(filepath):

if fileclass == basefileclass :

copy_file(filepath,fileclass + '/' + filenames,destinationfile + '/' + filenames)

else :

copy_file(filepath,fileclass,destinationfile + '/' + filenames)

#判断是否为文件

elif os.path.isfile(filepath):

print('Copy %s'% filepath +' To ' + destinationfile)

#如果无文件夹则重新创建

if not os.path.exists(destinationfile):

os.makedirs(destinationfile)

shutil.copy(filepath,destinationfile)

copy_file(sourcefile,basefileclass,destinationfile)

zip_file

功能:将某个文件夹下面的所有文件(文件夹)压缩

#! python 3

# -*- coding:utf-8 -*-

# Autor: GrayMac

import zipfile

import os

#dirpath:压缩源文件路径 outpath:输出文件夹路径 outname:输出压缩文件名

basefilepath = 'basefile/'

def zip_file(dirpath,outpath,outname):

print('Start ZIP ' + dirpath + ' To ' + outname)

zip = zipfile.ZipFile(outpath + outname,"w",zipfile.ZIP_DEFLATED)

for path,dirnames,filenames in os.walk(dirpath):

# 去掉目标跟路径,只对目标文件夹下边的文件及文件夹进行压缩

fpath = path.replace(dirpath,basefilepath)

for filename in filenames:

zip.write(os.path.join(path,filename),os.path.join(fpath,filename))

zip.close()

print('ZIP' + outname + 'successed !')

zip_file(dirpath,outpath,outname)

del_file

功能:将某个文件夹下面的所有文件(文件夹)删除

#! python 3

# -*- coding:utf-8 -*-

# Autor: GrayMac

import shutil

import os

#path_data 删除文件夹路径

#os.listdir(path_data) 返回一个列表,里面是当前目录下面的所有东西的相对路径

#os.path.isfile(file_data) 判断是否为文件

#os.remove(file_data) 删除文件

#shutil.rmtree(file_data) 删除文件夹(非空)

def del_file(path_data):

print('Start Delete : ' + path_data)

for filenames in os.listdir(path_data) :

file_data = path_data + "\\" + filenames#当前文件夹的下面的所有东西的绝对路径

if os.path.isfile(file_data) :

os.remove(file_data)

else:

shutil.rmtree(file_data)

print('Delete successed !')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持聚米学院。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值