查找特定路径下的文件
点击查看代码
import os
# 显示当前路径
路径=os.getcwd()
print(路径)
for 文件 in os.scandir(放入要查询的目录):
#这个方法遍历文件比较快,比较好用
#文件.name查询文件名字,文件.path查询文件路径,还有其他方法可以查询文件的其他信息,很方便的
找特定后缀名的文件
方法一:使用切片操作
点击查看代码
列表=[]
for 文件名 in 文件:
点的位置=文件名.rfind('.')#找点的位置
if 文件名[点的位置:]=='.xlsx':#切片处理,从点的位置一直到最后
列表.append(文件名)# 放入一个列表里
print(f'Excel文件共{len(列表)},分别是{列表}')
方法二:使用os包下的startswith,endswith方法
点击查看代码
import os
for 文件夹, 子文件夹, 文件 in os.walk('D:\无名字的文件夹'):
print(文件夹)#walk方法是一种比较好的遍历文件夹的方法,可以遍历出文件,子文件夹
*********************
import os
for i in os.scandir('D:\无名字的文件夹'):
if i.name.startswith('大数据'):#找出文件夹中以什么为开头的元素,同样的还有endswith()方法
print(i.name)
方法三:使用glob包
点击查看代码
import glob #查找文件 的包
import os
os.chdir('D:\无名字的文件夹')
print(glob.glob('大数据*'))#以什么开头的,星号放在后面
print(glob.glob('*docx'))#以什么结尾的,星号放在前面
print(glob.glob('大数据*/*',recursive=True))#获取子文件夹下以什么开头的文件,要用到'**/*'的形式,同时要有recursive=True
#glob.iglob方法出来的是一个可迭代对象,不占内存,但其他效果是一样的
方法四:使用fnmatch包
点击查看代码
```
import os
import fnmatch# 也是文件查找,返回的是true,false可用于if条件语句
dir=os.listdir('D:\无名字的文件夹')
for i in dir:
#print(i,fnmatch.fnmatch(i,'*docx'))
if fnmatch.fnmatch(i,'*docx'):#只打印为真的文件
print(i)
```
文章是我看孙兴华老师的视频记得笔记哦