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 ...
随机推荐
- SpringCloud-04-http客户端Feign
http客户端Feign 1.Feign的介绍 Feign是一个声明式的http客户端,官方地址:https://github.com/OpenFeign/feign 其作用就是帮助我们优雅的实现ht ...
- Xcode的Search Paths配置
在Xcode中的文件搜索路径配置有两个地方,一个是Project层的配置,一个是Target的配置. Project-Build Settings-Search Paths Target-Build ...
- 硬盘SMART信息解读
目录 一.SMART概述 4 二.SMART的ID代码 4 三.SMART的描述(Description) 5 四.SMART的值 5 1.临界 ...
- 自然语言开发AI应用,利用云雀大模型打造自己的专属AI机器人
如今,大模型层出不穷,这为自然语言处理.计算机视觉.语音识别和其他领域的人工智能任务带来了重大的突破和进展.大模型通常指那些参数量庞大.层数深.拥有巨大的计算能力和数据训练集的模型. 但不能不承认的是 ...
- Android 子线程更新UI的六种方式
1.注意: (1)子线程需要切换到UI线程或者主线程去更新线程. (2)但是子线程单独也是可以更新UI的,只是谷歌要求我们需要到UI线程去更新. eg: @Override protected voi ...
- 一句话总结Docker与K8S的关系
一句话总结:Docker只是容器的一种,它面向的是单体,K8S可以管理多种容器,它面向的是集群,Docker可以作为一种容器方案被K8S管理.下文继续具体介绍. 1.容器的核心概念 介绍这几个核心概念 ...
- 压缩软件7-Zip的简单使用
简介及下载地址 7-Zip是一款开源免费的压缩软件,支持windows系统及Linux系统,压缩后文件扩展名默认为.7z后缀. 网址: https://www.7-zip.org/ 截图如下: 也 ...
- JS leetcode 寻找数组的中心索引 题解分析
壹 ❀ 引 今天是的题目来自leetcode的724. 寻找数组的中心索引,做完之后我感觉自己像个憨憨,题目描述如下: 给定一个整数类型的数组 nums,请编写一个能够返回数组"中心索引&q ...
- NC17872 CSL的校园卡
题目链接 题目 题目描述 今天是阳光明媚,晴空万里的一天,CSL早早就高兴地起床走出寝室到校园里转悠. 但是,等到他回来的时候,发现他的校园卡不见了,于是他需要走遍校园寻找它的校园卡.CSL想要尽快地 ...
- MySQL 幻象行
当同一个查询在不同的时间产生不同的行集时,就会出现所谓的幻像问题.例如,如果执行了两次SELECT,但是第二次返回了第一次没有返回的行,那么该行就是一个"幻象"行. 假设在表chi ...