摘要:使用python通过修改程序中的目录和后缀名,删除指定目录下的指定后缀的全部文件.os模块下的一些函数
1,程序源码如下
#删除目录下的所有指定后缀的文件
import os,re
def deleteFile(path,expand):
count = 0
if(not os.path.exists(path)):
print("路径不存在!")
exit(-1)
re_compile = re.compile(r'\w+.'+expand)#若expand=txt,匹配多个字母数字下划线在前以.txt结束的字符串
for folder,subfolder,filename in os.walk(path):#遍历目录返回三个值
file = " ".join(filename)#将获得的文件列表变为字符串
findall = re_compile.findall(file)#在所有文件中将后缀是expand的提取出来
for i in findall:
count+=1
print(i,end=" ")
os.remove(i)#删除文件
if(count == 0):
print("没有发现文件")
else :
print("\n删除了"+str(count)+"个文件")
path = "./" #指定查找目录
expendName = "txt" #查找扩展名为txt的文件
deleteFile(path,expendName) #删除path目录下的后缀为expandName 的文件
复制粘贴代码的时候遇到模块错误请打开anaconda的客户端使用 "pip install 模块名 "进行安装.
- os.walk(path):将遍历path路径下的所有文件和文件夹返回三个参数,文件夹,子文件夹,以及文件名称列表,我们使用文件名列表就行.
- " ".join(filename),在文件名列表的元素之间加入空格转换为字符串.
- os.remove(filename) 删除文件
2.os模块下的相关函数
函数 | 功能 |
---|---|
os.path.abspath() | 返回绝对路径 |
os.path.isabs(path) | 判断是否为绝对路径 |
os.path.relpath(folder) | 返回从根到folder的绝对路径 |
os.path.dirname(path) | 返回路径中最后一个\前面的部分 |
os.path.basename(path) | 返回最后一个\后面的部分 |
os.path.getsize(filename) | 返回文件大小 |
os.listdir(path) | 列出path路径下的文件以及问价夹 |
网友评论