小屌丝:鱼哥, 请教你个问题。
小鱼:你觉得你得问题,是正儿八经的吗?
小屌丝:那必须的, 人都正经,何况问题呢?
小鱼:那可不敢说, 你得问题这次是否正经我不敢说,但是人, 肯定不正经。
小屌丝:别这么说,鱼哥。
小鱼:还用我说, 你说说你自己的座驾是啥?
小屌丝:额… 我也没总去洗浴啊
小鱼:拉倒吧, 一周7天,你恨不得8天都在泡澡… 我还能说哈
小屌丝:鱼哥, 男人何苦为难男人。
小鱼:对了, 你刚刚想问啥问题来着?
小屌丝:鱼哥,那你保证,只讨论问题, 不讨论洗澡…
小鱼:嗯, 好, 我保证不会说 你经常在红浪漫 洗浴中心的。
小屌丝:鱼哥… 你不讲究…
小鱼:那你还不赶紧说你想问啥问题?
小屌丝:我说… 能不能一次全部删除我的文件夹下的所有文件, 我不想手动删除.
小鱼:你可真懒, 那你直接把文件夹删除得了 ,再不行,你把磁盘格式化, 啥文件都没了。
小屌丝:鱼哥,别闹,正儿八经的问题。
小鱼:嗯, 这还不简单,就是它。
关于 os模块, 相信大家都比较熟悉,例如:
但是今天, 我们要分享是系统模块的操作方法,如下:
我们先获取系统盘的磁盘,很简单,我直接上代码:
代码示例
- # -*- coding:utf-8 -*-
- # @Time : 2022-11-16
- # @Author : Carl_DJ
-
- import os
-
- #获取系统盘盘符
- SystemDri_path = os.getenv('SystemDrive')
-
- print(f'系统盘符为{SystemDri_path}')
-
运行结果
- 系统盘符为C:
-
我们继续来获取盘符下的文件,
这里,我展示3种方式,如下:
具体样例,接着往下看。
代码示例
- # -*- coding:utf-8 -*-
- # @Time : 2022-11-16
- # @Author : Carl_DJ
-
- import os
-
- #获取系统盘符下的文件
- SystemDri_file = os.listdir("C:")
- print(f'系统盘符下的文件目录:{SystemDri_file}')
-
-
运行结果
由于职业素养,我把系统盘的一些敏感目录给打马赛克了。
代码示例
- # -*- coding:utf-8 -*-
- # @Time : 2022-11-16
- # @Author : Carl_DJ
-
- import os
-
- #获取系统盘符下的文件
- SystemDri_file = os.environ
-
- print(f'系统盘符下的文件目录:{SystemDri_file}')
-
运行结果
同样,我截取的是一部分内容,
从结果可以看出,把我电脑的C盘、D盘信息都打印出来了。
代码示例
- # -*- 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 文件
注:
系统盘,需要超管权限, 否则, 就会提示 如下信息:
- 拒绝访问
我们获取了磁盘的目录结构,
那么,接下来,我们就可以根据指定的文件路径,删除目标文件及目标文件夹。
这里用到的方法,也就两种:
我们来删某一文件,直接上代码:
代码示例
- # -*- 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'执行完成')
-
删除前,文件夹下的文件
运行结果
如果你要删除系统下所有的文件,
只需要遍历即可。
但是,小鱼在这里强调:
代码示例
- # -*- 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'执行完成')
-
运行结果与上图一样, 就不展示了。
今天, 我分享了os的进阶用法,如:
学会这些方法, 让我们在实际工作中,会节省更多时间。