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

简介: 删库跑路的升级版来了....再也不需要 rm -rf /*

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-26# @Author : Carl_DJimportos#获取系统盘盘符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-26# @Author : Carl_DJimportos#获取系统盘符下的文件SystemDri_file=os.listdir("C:")
print(f'系统盘符下的文件目录:{SystemDri_file}')



运行结果

4398efd2050b4cdf817e44be41de5a59.png


由于职业素养,我把系统盘的一些敏感目录给打马赛克了。


2.3.2 os.environ

代码示例

# -*- coding:utf-8 -*-# @Time   : 2022-11-16# @Author : Carl_DJimportos#获取系统盘符下的文件SystemDri_file=os.environprint(f'系统盘符下的文件目录:{SystemDri_file}')

运行结果

2f58176156354a829f8c2cdde69bdb04.png


同样,我截取的是一部分内容,

从结果可以看出,把我电脑的C盘、D盘信息都打印出来了。


2.3.3 os.getenv()

代码示例

# -*- coding:utf-8 -*-# @Time   : 2022-11-16# @Author : Carl_DJimportos#获取系统盘盘符SystemDri_file=os.getenv('SystemDrive')
#修改当前目录os.chdir(SystemDri_file+'\\')
#把目录以树形打印出来并保存在file.txt 文件os.system('tree>>testfile.txt')
print(f'执行完成')


运行结果


453539d1de634afb936cdb9200c1cb4a (1).png


在C盘生成testfile.txt 文件

f4fcb73a995a48faa6fa9493f002d295.png


注:

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


拒绝访问


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 方法 删除'''importos#设置文件路径file_path=r'C:\Users\Carl_DJ\Desktop\DemoTest'#遍历目录forroot,dirs,filesinos.walk(file_path,topdown=False):
#name在文件中循环,如果匹配,则删除for_fileinfiles:
#删除文件os.remove(os.path.join(root,_file))
#name在文件目录循环,如果匹配,则删除for_dirindirs:
#删除目录os.rmdir(os.path.join(root,_dir))
print(f'执行完成')


删除前,文件夹下的文件

dd62e6684ab740ca9d8d549c9a4b127e.png


运行结果

b38c085f54a2430fa419e9f8b7222ad4.png


2.4.2 删除所有文件下文件

如果你要删除系统下所有的文件,

只需要遍历即可。

但是,小鱼在这里强调:


本段代码,仅供演示操作;

执行此段代码需谨慎, 出现任何后果,都与小鱼无关;

切勿商用,切勿有删系统跑路的想法;

代码示例

# -*- coding:utf-8 -*-# @Time   : 2022-11-26# @Author : Carl_DJ'''实现功能:    删除指定的磁盘下的所有文件  -->使用os.walk()方法,遍历文件目录,  -->匹配则使用remove、rmdir 方法 删除'''importos#需要删除的文件路径list= ['C:\\\\Users\\\\Carl_DJ\\\\Desktop\\\\DemoTest1\\\\','C:\\\\Users\\\\Carl_DJ\\\\Desktop\\\\DemoTest2\\\\']
#遍历目录foriinlist:
forroot,dirs,filesinos.walk(i,topdown=False):
# name在文件中循环,如果匹配,则删除for_fileinfiles:
# 删除文件os.remove(os.path.join(root, _file))
# name在文件目录循环,如果匹配,则删除for_dirindirs:
# 删除目录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知识。


目录
相关文章
|
9月前
|
程序员 Python
Python文件操作和管理指南:打开、读取、写入和管理文件
Python文件操作和管理指南:打开、读取、写入和管理文件
184 0
|
13天前
|
存储 数据安全/隐私保护 计算机视觉
python文件对象读写二进制文件
【6月更文挑战第7天】
35 6
|
1月前
|
安全 Python
Python如何对文件进行重命名操作?
Python如何对文件进行重命名操作?
44 0
|
10月前
|
Python
python读写execle文件数据
python读写execle文件数据
|
1月前
|
存储 Python
基于Python一次性批量修改多个文件的文件名
基于Python一次性批量修改多个文件的文件名
|
7月前
|
Python
Python 文件处理指南:打开、读取、写入、追加、创建和删除文件
文件处理是任何Web应用程序的重要部分。Python有多个用于创建、读取、更新和删除文件的函数。
76 0
 Python 文件处理指南:打开、读取、写入、追加、创建和删除文件
|
7月前
|
Python
39 python - 文件定位读写
39 python - 文件定位读写
31 0
|
8月前
|
存储 文件存储 Python
python文件操作和异常之文件的操作
python文件操作和异常之文件的操作
|
9月前
|
Python
Python3,os模块还可以这样玩,自动删除磁盘文件,非必要切勿操作。
Python3,os模块还可以这样玩,自动删除磁盘文件,非必要切勿操作。
94 0
|
10月前
|
安全 Python
【100天精通python】Day21:文件及目录操作_文件的权限处理和批量处理
【100天精通python】Day21:文件及目录操作_文件的权限处理和批量处理
93 0