Python3,os模块还可以这样玩,自动删除磁盘文件,非必要切勿操作。

news2024/10/7 15:28:47

删除磁盘下所有的文件

  • 1、引言
  • 2、代码实战
    • 2.1 模块介绍
    • 2.2 获取盘符
    • 2.3 获取盘符下的目录
      • 2.3.1 os.listdir()
      • 2.3.2 os.environ
      • 2.3.3 os.getenv()
    • 2.4 删除文件
      • 2.4.1 删除指定文件下文件
      • 2.4.2 删除所有文件下文件
  • 3、总结

1、引言

小屌丝:鱼哥, 请教你个问题。
小鱼:你觉得你得问题,是正儿八经的吗?
小屌丝:那必须的, 人都正经,何况问题呢?
小鱼:那可不敢说, 你得问题这次是否正经我不敢说,但是人, 肯定不正经。
小屌丝:别这么说,鱼哥。
小鱼:还用我说, 你说说你自己的座驾是啥?
小屌丝:额… 我也没总去洗浴啊
小鱼:拉倒吧, 一周7天,你恨不得8天都在泡澡… 我还能说哈
小屌丝:鱼哥, 男人何苦为难男人。
在这里插入图片描述
小鱼:对了, 你刚刚想问啥问题来着?
小屌丝:鱼哥,那你保证,只讨论问题, 不讨论洗澡…
小鱼:嗯, 好, 我保证不会说 你经常在 红浪漫 洗浴中心的。
在这里插入图片描述
小屌丝:鱼哥… 你不讲究…
小鱼:那你还不赶紧说你想问啥问题?
小屌丝:我说… 能不能一次全部删除我的文件夹下的所有文件, 我不想手动删除.
小鱼:你可真懒, 那你直接把文件夹删除得了 ,再不行,你把磁盘格式化, 啥文件都没了。
小屌丝:鱼哥,别闹,正儿八经的问题。
小鱼:嗯, 这还不简单,就是它。

2、代码实战

2.1 模块介绍

关于 os模块, 相信大家都比较熟悉,例如:

  • os.listdir():直接返回指定路径下文件和文件夹组成的列表;
  • os.walk():获取每层文件夹下的文件路径,文件夹列表,文件列表;
  • os.path.exists():判断文件是否存在, True、false;
  • os.mkdir():创建一个新的文件夹;
  • os.rmdir():删除文件夹();

但是今天, 我们要分享是系统模块的操作方法,如下:

  • os.getenv():获取(盘符)信息;
  • os.environ:系统盘符;
  • os.chdir():更改目录;
  • os.getcwd():获取当前路径;

2.2 获取盘符

我们先获取系统盘的磁盘,很简单,我直接上代码:

代码示例

# -*- coding:utf-8 -*-
# @Time   : 2022-11-16
# @Author : Carl_DJ

import os

#获取系统盘盘符
SystemDri_path = os.getenv('SystemDrive')

print(f'系统盘符为{SystemDri_path}')

运行结果

系统盘符为C:

2.3 获取盘符下的目录

我们继续来获取盘符下的文件,
这里,我展示3种方式,如下:

  • os.listdir()
  • os.environ
  • os.getenv()

具体样例,接着往下看。

2.3.1 os.listdir()

代码示例

# -*- coding:utf-8 -*-
# @Time   : 2022-11-16
# @Author : Carl_DJ

import os

#获取系统盘符下的文件
SystemDri_file = os.listdir("C:")
print(f'系统盘符下的文件目录:{SystemDri_file}')

运行结果

在这里插入图片描述
由于职业素养,我把系统盘的一些敏感目录给打马赛克了。

2.3.2 os.environ

代码示例

# -*- coding:utf-8 -*-
# @Time   : 2022-11-16
# @Author : Carl_DJ

import os

#获取系统盘符下的文件
SystemDri_file = os.environ

print(f'系统盘符下的文件目录:{SystemDri_file}')

运行结果

在这里插入图片描述
同样,我截取的是一部分内容,
从结果可以看出,把我电脑的C盘、D盘信息都打印出来了。

2.3.3 os.getenv()

代码示例

# -*- coding:utf-8 -*-
# @Time   : 2022-11-16
# @Author : Carl_DJ

import os

#获取系统盘盘符
SystemDri_file = os.getenv('SystemDrive')
#修改当前目录
os.chdir(SystemDri_file+'\\')
#把目录以树形打印出来并保存在file.txt 文件
os.system('tree>>testfile.txt')
print(f'执行完成')

运行结果

在这里插入图片描述

在C盘生成testfile.txt 文件
在这里插入图片描述

注:
系统盘,需要超管权限, 否则, 就会提示 如下信息:

拒绝访问

2.4 删除文件

2.4.1 删除指定文件下文件

我们获取了磁盘的目录结构,
那么,接下来,我们就可以根据指定的文件路径,删除目标文件及目标文件夹。
这里用到的方法,也就两种:

  • os.remove():删除文件;
  • os.rmdir():删除目录;
  • os.walk():遍历文件目录;

我们来删某一文件,直接上代码:

代码示例

# -*- coding:utf-8 -*-
# @Time   : 2022-11-16
# @Author : Carl_DJ

'''
实现功能:
	使用os.walk()方法,遍历文件目录,
	匹配则使用remove、rmdir 方法 删除
'''
import os

#设置文件路径
file_path = r'C:\Users\Carl_DJ\Desktop\DemoTest'



#遍历目录
for root,dirs,files in os.walk(file_path,topdown=False):
    #name在文件中循环,如果匹配,则删除
    for _file in files:
        #删除文件
        os.remove(os.path.join(root,_file))
    #name在文件目录循环,如果匹配,则删除
    for _dir in dirs:
        #删除目录
        os.rmdir(os.path.join(root,_dir))
print(f'执行完成')

删除前,文件夹下的文件
在这里插入图片描述

运行结果
在这里插入图片描述

2.4.2 删除所有文件下文件

如果你要删除系统下所有的文件,
只需要遍历即可。
但是,小鱼在这里强调

  • 本段代码,仅供演示操作
  • 执行此段代码需谨慎, 出现任何后果,都与小鱼无关
  • 切勿商用,切勿有删系统跑路的想法

代码示例

# -*- coding:utf-8 -*-
# @Time   : 2022-11-16
# @Author : Carl_DJ

'''
实现功能:
	删除指定的磁盘下的所有文件
		-->使用os.walk()方法,遍历文件目录,
		-->匹配则使用remove、rmdir 方法 删除
'''
import os

#需要删除的文件路径
list = ['C:\\\\Users\\\\Carl_DJ\\\\Desktop\\\\DemoTest1\\\\','C:\\\\Users\\\\Carl_DJ\\\\Desktop\\\\DemoTest2\\\\']


#遍历目录
for i in list:
    for root,dirs,files in os.walk(i,topdown=False):
        # name在文件中循环,如果匹配,则删除
        for _file in files:
            # 删除文件
            os.remove(os.path.join(root, _file))
        # name在文件目录循环,如果匹配,则删除
        for _dir in dirs:
            # 删除目录
            os.remove(os.path.join(root, _dir))
print(f'执行完成')

运行结果与上图一样, 就不展示了。

3、总结

今天, 我分享了os的进阶用法,如:

  • os.environ
  • os.walk()
  • os.getenv()
  • os.rmdir()
  • os.remove()
  • os.chdir()

学会这些方法, 让我们在实际工作中,会节省更多时间。

  • 如果我们平时删除文件夹下的文件, 可以直接执行这段代码;
  • 如果我们要批量删除多个文件夹下的文件,也可以直接执行这段代码;
  • 如果你要删除系统的所有文件, 那就不要试了, 毕竟,后果很难以接受, 简称 难受

我是小鱼

  • CSDN 博客专家
  • 阿里云社区 专家博主
  • 企业金牌面试官
  • 51 讲师

关注我,带你学习更多更有趣的Python知识。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/25200.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flink基础篇(基础算子+WaterMarker)

Flink高可用HA 依赖于zkFlink ON Yarn两种模式Session模式Per-Job模式前置说明Flink原理数据在两个operator算子之间传递的时候有两种模式:Operator ChainTaskSlot And SharingFlink执行图(ExecutionGraph)APISourceTransformationSink控制台…

【图像识别-车牌识别】基于BP神经网络求解车牌识别问题含GUI界面和报告

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

11个销售心理学方法,帮你搞定客户!

销售心理学中,站在客户的角度,客户都会有以下几个疑问: 1、你是谁? 2、你要跟我介绍什么? 3、你介绍的产品和服务对我有什么好处? 4、如何证明你介绍的是真实的? 5、为什么我要跟你买&…

Linux学习之expect操作详解

一、expect安装介绍 1.expect命令安装 安装语句:yum install expect 2.expect命令含义 expect是一种脚本语言,它能够代替人工实现与终端的交互,主要应用于执行命令和程序时,系统以交互形式要求输入指定字符串,实现交互通信。 …

疟原虫蛋白复合物疫苗科研

疟疾是一种蚊媒疾病,感染者通常会出现发烧、发冷和流感样疾病。如果不及时治疗,严重者甚至会危及生命。世卫组织新近发布的数据表明,2019 年全球估计发生 2.29 亿疟疾病例,死于该病的人数超过 40 万例。 图 1. 2000 年有病例的国…

Flutter 应用程序中的 Quick Actions

Flutter 应用程序中的 Quick Actions 原文 https://medium.com/vijay-r/quick-actions-in-flutter-app-75b63acc420b 前言 在这篇文章中,我们将讨论如何添加 Quick Actions 在我们的 Flutter 应用程序,使我们的应用程序更加友好的用户。 正文 插件 quick…

LVM逻辑卷

要求:在系统下做LVM逻辑卷2G,并将LVM进行扩容到5G 操作环境:7.8.2003 [rootlocalhost ~]# lsblk #列出所有可用块设备信息 我们使用vdb和vdc两块硬盘做lvm 先将一个盘进行分区(/dev/vdb) [r…

Leetcode808. 分汤

文章目录题目链接题目大意解题思路代码(C)动态规划记忆化搜索题目链接 点我(^_^) 题目大意 注意不是两个概率加和除以2 解题思路 考虑动态规划,因为汤的分配都是以 25 的倍数进行分配的,所以这里把 25 ml 的汤看作一份,总的份数⌈汤的体…

A-Level经济例题解析及练习Analysis of Tax

今日知识点:Analysis of Tax 例题A. Compute consumer surplus, producer surplus, and total surplus without a tax. B. If $100 tax per ticket, compute consumer surplus, producer surplus, tax revenue, total surplus, and deadweight loss.解析下面我们为大…

搭载北京君正X2000主控芯片的成功案例

汉王e典笔S20 Plus搭载北京君正研发的X2000多核异构跨界处理器。X2000多核异构跨界处理器主要面向于智能音频、图像识别、智能家电、智能家居、智能办公等五大领域。CPU采取三核结构,搭载双XBurst2,主频1.2GHz,跨界第三核XBurst0(240MHz)&…

Linux--进程概念

前言: 在学习操作系统的过程中,我们常常能听到进程这一概念以及相关的一些知识。例如什么是父进程,什么是子进程,如何创建子进程,如何杀死进程等。这些知识后面会一一介绍,在迈入学习进程的第一步我只需要知…

[附源码]java毕业设计校园二手交易平台的设计

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

养殖废水总氮超标的解决方法

养殖废水除总氮。入水是100mg/L,处理水量大概在3T/H,要求养殖废水总氮小于5PPM。 生化前置过滤树脂的工艺,通过阳树脂中含有的阳离子会与水中的游离氨(NH3)和铵离子(NH4)进行交换,将…

2.15 这样的小红书图片内容,最容易“踩雷”!【玩赚小红书】

1、笔记中所有图片只展示一件单品 这类内容有可能会被系统判定为广告,或被用户怀疑为软广而举报。据介绍,小红书平台上的用户对软广的接受度较低,这类内容时常因为被举报而限流。 小红书引入“生态官”维护社区内容后,生态官也会…

三层vlan实验

目录 实验拓扑 实验需求 实验解法 5,按照图示配置 IP 地址,其中只有SW1需要配置三层vlan地址,电脑设备为DHCP获取地址 6,在sw1配置DHCP动态地址池塘,DNS为114.114.114.114 7,各台电脑通过交换机划分不…

你的系统如何支撑高并发?大佬手写高并发架构设计笔记帮你圆满回答!

开篇,我们聊聊大量同学问我的一个问题,面试的时候被问到一个让人特别手足无措的问题:你的系统如何支撑高并发? 大多数同学被问到这个问题压根儿没什么思路去回答,不知道从什么地方说起,其实本质就是没经历…

m虚拟MIMO系统的配对调度算法的matlab仿真,对比Random配对,Orthogonal配对以及Deteminant配对

目录 1.算法概述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法概述 利用多输入多输出(MIMO,Multiple InputMultiple Output)技术通过空间复用能够显著的提高通信系统的容量,并可以很好的缓解时/频资源日益紧…

BCN衍生物:endo-BCN-PEG4-TAMRA/Palmitic/DSPE

凯新生物公司小编分享:endo-BCN-PEG4-TAMRA ,endo-BCN-PEG4-Palmitic,endo-BCN-PEG4-DSPE这几种的物理相关数据。 1、endo-BCN-PEG4-TAMRA 四甲基罗丹明(TAMRA)-叠氮化物是一种化学探针,用于直接在活细胞中…

食品连锁企业怎样结合快解析打造智能安全管理系统

食品质量安全是食品类企业的生命线,对产品质量的安全管控必须十分严苛。A企业是全国知名的一家大型食品连锁企业,为了做好质量监控,A企业研发了一套智能安全管理预警系统,可以从多维度对生产一线的违规事件进行预警记录&#xff0…

MCE | 细胞实验——多溶剂集合

■ 不到不得已,谁也不想现用现配细胞实验的工作浓度通常在 μM 级别,有的还是 nM 和 pM,要做到现用现配,难度系数有点高,好比让一个日均不到 1000 步的人去爬 5000 米的山峰,这难度,你细品&…