遍历文件夹下所有 .* *=jpg/avi/xls/.pdf
有时候文件放置的混乱,存在嵌套关系,寻找起来特别麻烦,于是我就要干他
我的文件放置位置大致如下
root/
├── fileA1.txt
├── fileA2.jpg
├── fileA3.avi
├── fileA4.xls
├── sub1
│ ├── fileB1.txt
│ ├── fileB2.jpg
│ └── fileB3.avi
└── sub2
├── fileC1.txt
├── fileC2.jpg
└── fileC3.avi
当你遇到文件夹下有子文件夹并且文件和子文件都存在想要类型格式的文件,那么采取以下方式,将会比较快的达到你想要达到的目的.
import os
def findAllFile(base):
for root, ds, fs in os.walk(base):
for f in fs:
if f.endswith('.jpg'):
fullname = os.path.join(root, f)
print(fullname)
if __name__ == '__main__':
path = 'root/'
findAllFile(path)
root:根文件路径
ds: directories 文件夹(们)
fs: files 文件(们)
上述代码运行会得到:
root/fileA2.jpg
root/sub1/fileB2.jpg
root/sub2/fileC2.jpg ps:你当然不是我这种输出格式啦!
敲黑板!敲黑板! 敲黑板!
我这里是想寻找.jpg 而如果你想要寻找.xls文件 直接将.jpg替换为 .xls即可
从文件夹中随机抽取文件
简单示意
list = [0,1,2,3,4]
rs = random.sample(list, 2)
print(rs)
print(list)
》》》[2, 4] #此数组随着不同的执行,里面的元素随机,但都是两个
》》》[0, 1, 2, 3, 4]
那么问题来了,随机抽取文件,该怎么做呢
假设你的文件夹下有众多的.jpg文件那么,你只需要随机抽取一章图片,那么,可以用以下方法:
import os
import random
path='C:\\Users\\AIR\\Desktop\\data\\cat\\'
path_=os.listdir(path)
print(path_)
sample1=random.sample(path_,1)
sample1
如果对你有帮助,还希望点个赞!!!