python删除指定文件夹下文件和文件夹的方法
前记
python删除指定文件夹下的文件,是一个常用的功能。我找了不少地方,一直没有找到合适的模版,那只好自己倒腾一个比较实用的模版了。
基本模块
这里面会用到几个模块,一个是目录下所有文件的的函数:listdir 常用的使用方法:
import os
filenames = os.listdir('.')
print(filenames)
另外一个就是查看该目录下是否有特定的文件,这个就是name.swith()函数,具体的使用方法如下:
state = any(name.endswith('.py') for name in filenames)
print(state)
一个是查找该目录下的子目录。如下所示:该目录子目录static下的所有文件如下所示:
tmp_path = os.path.join(BASE_PATH,'static/')
还有一种方法用于查找该目录下的特定文件。一般使用glob模块。glob模块是最简单的模块之一,内容非常少。用它可以查找符合特定规则的文件路径名。具体的使用方法如下所示:
fileNames = glob.glob(path + r'/*')
实例解析
这里面例子如下所示:具体的解析和运行结果非常简单,需要你自己操作了;
import os
import sys
import glob
def del_files(path):
fileNames = glob.glob(path + r'/*')
for fileName in fileNames:
try:
os.remove(fileName)
print("remove file:%s" % fileNames)
except:
except:
try:
os.mkdir(fileName)
print("mkdir file:%s " % fileName)
except:
print("del file:%s " % fileName)
del_files(fileName)
os.rmdir(fileName)
def del_file(path):
lsdir = os.listdir(path)
print(lsdir)
if any(name.endswith('.py') for name in lsdir):
print("no txt in this dir")
else:
print("have txt and need to remove")
for file in lsdir:
try:
c_path = os.path.join(path,file)
os.remove(c_path)
print("rm c path: %s " % c_path)
except:
del_file(path)
os.rmdir(file)
print("rm failed try again: %s " % c_path)
if __name__ == '__main__':
BASE_PATH = os.getcwd()
print("below is base path:\n %s" % BASE_PATH)
tmp_path = os.path.join(BASE_PATH,'static/')
print("below is tmp_path:\n %s" % tmp_path)
#del_files(tmp_path)
del_file(tmp_path)
我把这些代码上传到了github上,有需要的同学也可以上上面拷贝:
https://github.com/DyLanCao/ipython/tree/master/base/file_handle/dir_del
python删除指定文件夹下文件和文件夹的方法的更多相关文章
- python删除某一文件夹下的重复文件
#2022-10-28 import hashlib import os import time def getmd5(filename): """ 获取文件 md5 码 ...
- shell脚本实现查找文件夹下重复的文件,并提供删除功能
Windows下有软件FindDupFile,可以搜索指定目录及其下子目录,列出所有内容完全相同的文件(文件名可能不同),然后由用户选择删除重复的文件. 然而shell脚本却可以使用几行的命令完成与此 ...
- java 删除文件夹 / 删除某文件夹下的所有文件
import java.io.File; /*************************删除文件夹delFolder / 删除文件夹中的所有文件delAllFile *start******** ...
- C#实现把指定文件夹下的所有文件复制到指定路径下以及修改指定文件的后缀名
1.实现把指定文件夹下的所有文件复制到指定路径下 public static void copyFiles(string path) { DirectoryInfo dir = new Directo ...
- 读取指定文件夹下的全部文件,可通过正则进行过滤,返回文件路径数组 -- 基于node的一个函数
var fs = require('fs'); // 模板文件夹路径 var templateDirectory = '../src'; //相对于当前文件的相对路径 //var templateDi ...
- Nodejs下如何判断文件夹的存在以及删除文件夹下所有的文件
代码如下: var folder_exists = fs.existsSync('./cache'); if(folder_exists == true) { var dirList = fs.rea ...
- Linux下的命令,删除文件夹下的所有文件,而不删除文件夹本身
Linux下的命令,删除文件夹下的所有文件,而不删除文件夹本身 rm -rf *
- JAVA中删除文件夹下及其子文件夹下的某类文件
##定时删除拜访图片 ##cron表达式 秒 分 时 天 月 ? ##每月1日整点执行 CRON1=0 0 0 1 * ? scheduled.enable1=false ##图片路径 filePat ...
- 读取某文件夹下所有excel文件 python
import os import pandas as pd from sklearn import linear_model path = r'D:\新数据\每日收益率' filenames = os ...
- GreenDao 数据库:使用Raw文件夹下的数据库文件以及数据库升级
一.使用Raw文件夹下的数据库文件 在使用GreenDao框架时,数据库和数据表都是根据生成的框架代码来自动创建的,从生成的DaoMaster中的OpenHelper类可以看出: public sta ...
随机推荐
- 1.29 深痛教训 关于 unsigned
unsigned long long 无符号长长整型,常用于比 long long 大一倍的整数范围或自然溢出 \(\bmod 2^{64}\) unsigned long long 范围为 \(0\ ...
- 理论与实战:一篇看懂Python词云
理论与实战:一篇看懂Python词云 后宫王镇贴 前言:本文初编辑于2024年2月2日 该项目代码的仓库地址:https://github.com/A-Piece-Of-Maple/WordCloud ...
- 编译pjsip源码
操作系统 : Windows 10_x64 [版本 10.0.19042.685] pjsip版本 : 2.10 pjsip官网:https://www.pjsip.org/ 1. 下载pjsip源代 ...
- 初次尝试GPU Driver —— 大范围植被渲染之着色
初次尝试GPU Driver -- 大范围植被渲染之着色 在<初次尝试GPU Driven -- 大范围植被渲染>中实现了草地分布,本文实现草的着色. 本文分四个部分: 生成网格 随机调整 ...
- NC16670 [NOIP2006]能量项链
题目链接 题目 题目描述 在Mars星球上,每个Mars人都随身佩带着一串能量项链.在项链上有N颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数.并且,对于相邻的两颗珠子,前一颗 ...
- 【Android】使用Binder实现进程间传递对象案例
1 前言 使用AIDL实现进程间通讯简单案例 和 使用AIDL实现进程间传递对象案例 中介绍了使用 AIDL 进行进程间通讯,其本质仍然是Binder,aidl 文件对应生成的接口中,将服务端调用的抽 ...
- 初探富文本之文档diff算法
初探富文本之文档diff算法 当我们实现在线文档的系统时,通常需要考虑到文档的版本控制与审核能力,并且这是这是整个文档管理流程中的重要环节,那么在这个环节中通常就需要文档的diff能力,这样我们就可以 ...
- ffmpeg之avformat_alloc_output_context2
函数原型: int avformat_alloc_output_context2(AVFormatContext **ctx, const AVOutputFormat *oformat, const ...
- jenkins配置github秘钥
1.登录github,打开Settings 2.点击Developer settings 3.点击Personal access tokens-->Generate new token 4.勾选 ...
- P1536 村村通(并查集)
村村通 题目描述 某市调查城镇交通状况,得到现有城镇道路统计表.表中列出了每条道路直接连通的城镇.市政府 "村村通工程" 的目标是使全市任何两个城镇间都可以实现交通(但不一定有直接 ...