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

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

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 博客专家;

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

目录
相关文章
|
5月前
|
安全 Python
告别 os.path 的繁琐:拥抱 Python 的 pathlib
告别 os.path 的繁琐:拥抱 Python 的 pathlib
476 6
|
10月前
|
Python
Python教程:os 与 sys 模块详细用法
os 模块用于与操作系统交互,主要涉及夹操作、路径操作和其他操作。例如,`os.rename()` 重命名文件,`os.mkdir()` 创建文件夹,`os.path.abspath()` 获取文件绝对路径等。sys 模块则用于与 Python 解释器交互,常用功能如 `sys.path` 查看模块搜索路径,`sys.platform` 检测操作系统等。这些模块提供了丰富的工具,便于开发中处理系统和文件相关任务。
460 14
|
缓存 安全 Linux
Linux系统查看操作系统版本信息、CPU信息、模块信息
在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息
2586 23
|
Python
文件元数据获取方法对比:`os.path` 与 `os.stat`
本文对比了Python中两种获取文件元数据的方法:`os.path`和`os.stat`。通过示例代码展示了如何获取文件大小和修改时间,并从性能、功能性和代码可读性三方面进行了详细对比。最终给出了根据具体需求选择合适方法的最佳实践建议。
274 2
|
JavaScript 前端开发 Python
python中的OS模块的基本使用
欢迎来到瑞雨溪的博客,一名热爱JavaScript与Vue的大一学生。博客分享前端技术及全栈开发经验,持续更新中,期待您的关注和支持!🎉🎉🎉
255 0
|
6月前
|
Ubuntu Unix Linux
操作系统的最强入门科普(Unix/Linux篇)
下期文章,小枣君会重点聊聊Windows和macOS那条线。敬请关注! 如果大家觉得文章不错,还请帮忙多多转发!谢谢!
|
6月前
|
Web App开发 缓存 Rust
|
安全 Linux 数据安全/隐私保护
Vanilla OS:下一代安全 Linux 发行版
【10月更文挑战第30天】
881 0
Vanilla OS:下一代安全 Linux 发行版
|
运维 自然语言处理 Ubuntu
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot 是阿里云推出的一款操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行和系统运维调优等功能。通过简单的命令行操作,用户可以快速获取所需信息并执行任务,极大提升了Linux系统的使用效率。安装步骤简单,只需在阿里云服务器上运行几条命令即可完成部署。使用过程中,OS Copilot不仅能帮助查找命令,还能处理文件和复杂场景,显著节省了查找资料的时间。体验中发现,部分输出格式和偶尔出现的英文提示有待优化,但整体非常实用,特别适合Linux初学者。
542 10
|
弹性计算 自然语言处理 Ubuntu
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot是由阿里云推出的操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行等功能,极大提升了Linux系统的使用效率。用户只需通过简单的命令或自然语言描述问题,OS Copilot即可快速提供解决方案并执行相应操作。例如,查询磁盘使用量等常见任务变得轻松快捷。此外,它还支持从文件读取复杂任务定义,进一步简化了操作流程。虽然在某些模式下可能存在小问题,但总体上大大节省了学习和操作时间,提高了工作效率。
435 2
OS Copilot-操作系统智能助手-Linux新手小白的福音

热门文章

最新文章