python 如何获取文件夹中的全部文件
作者:南妮儿 发布时间:2022-09-10 16:48:11
python 如何获取文件夹中的全部文件
在神经网络准备训练集的时候,经常需要从文件夹中读取全部图片。经常遇到的有两种方式
1 os.listdir()
os.listdir()是列举文件夹中所有文件名。然后通过os.path.join()函数将文件夹的地址和文件夹名称连接起来获得绝对地址。
import os
files=os.listdir('./T91_HR')
print(type(files))
print(files)
for i in files:
path=os.path.join('./T91_HR/'+i)
print(path)
2 glob
glob
是用于匹配符合指定模式的文件集合的一种语言
返回所有匹配的文件路径列表。它只有一个参数pathname,定义了文件路径匹配规则,这里可以是绝对路径,也可以是相对路径
glob.glob()
这里返回的是一个列表
from glob import glob
import os
path=os.path.join('./T91_HR/*.png')
files=glob(path)
print(type(files))
for i in files:
print(i)
glob.iglob()
这个函数与glob.glob()函数的功能类似,也只有pathname一个参数,但是这个函数返回一个迭代器,也就是说一次只返回一个路径,相比于glob.glob()会占用更少的内存。
from glob import iglob
import os
path=os.path.join('./T91_HR/*.png')
files=iglob(path)
print(type(files))
from glob import iglob
import os
path=os.path.join('./T91_HR/*.png')
files=iglob(path)
print(type(files))
自然排序
from natsort import natsorted
a = ['1.png', '3.png', '10.png', '2.png']
##常规排序
a.sort()
print(a)
##自然排序
b = natsorted(a)
print(b)
PS:Python 获取文件夹下所有文件
前言
使用Python获取文件夹下的所有文件时,存在多种方式。
1. os.listdir
os.listdir:参数为文件夹路径,可以返回文件夹下的所有子文件夹、文件名称。
示例:
import os
path = 'D:\Workspace'
for file_name in os.listdir(path):
print(file_name)
注意,不能返回子文件夹下的文件,并且仅返回名称。
2. os.walk
os.walk:参数为文件夹路径,返回3个内容:绝对路径、子文件夹、文件名。 此方法可以遍历文件夹下的所有文件、子文件及内的所有文件:
例如:
D:/workspace/folder/text1.txt
D:/workspace/folder/text2.txt
此方法在输入的path为D:/workspace时,第一次遍历会获取/workspace下的所有文件和文件夹;第二次遍历会获取/workspace/folder下的所有文件和文件夹。因此需要对结果进行循环,以获取所有文件。
示例:
import os
path = 'D:\Workspace'
for root, dirs, files in os.walk(path):
print(root)
print(dirs)
print(files)
返回:
D:\Workspace
['folder']
[]
D:\Workspace\folder
[]
['text1.txt', 'text2.txt']
3. glob.glob
glob:参数为路径以及文件过滤条件,若不设置过滤需填写为*,此函数会返回包括路径的文件夹和文件名
示例:
import glob
path = 'D:\Workspace\folder\*'
for file_abs in glob.glob(path):
print(file_abs)
返回:
D:\Workspace\folder\text1.txt
D:\Workspace\folder\text2.txt
注意,不能返回子文件夹下的文件,并且返回文件名与绝对路径。
来源:https://blog.csdn.net/qq_40107571/article/details/126131174
猜你喜欢
- 最近,Facebook设计团队在其位于加州帕罗奥多市(Palo Alto)的总部,提到了他们为2.5亿用户设计的原理和方法。 他们特别强调了
- pytest的setup与teardown1)pytest提供了两套互相独立的setup 与 teardown和一对相对自由的setup与t
- 简介CountVectorizer官方文档。将一个文档集合向量化为为一个计数矩阵。如果不提供一个先验字典,不使用分析器做某种特征选择,那么特
- Dreamweaver中一直变色的超级链接,css+javascript实现超级链接变色,当鼠标移动到链接上时,链接的颜色不停闪烁变色。&l
- 当然首先得去下载ASPupload 程序,安装后使用!官方网站下载:http://www.aspupload.com/使用ASP实现文件上载
- 神经网络框架使用方法及设计思想在框自己手写架上基本模仿pytorch,用以学习神经网络的基本算法,如前向传播、反向传播、各种层、各种激活函数
- Css3引入了新的盒模型——弹性盒模型,该模型决定一个盒子在其他盒子中的分布方式以及如何处理可用的空间。这与XUL(火狐使用的用户交互语言)
- 我们调试Javascript一般会用到Chrome或Firefox自带的调试工具,本文列出了几条用于调试Javascript的技巧,掌握它们
- 从codered到nimda等,一大堆蠕虫把原来需要人工利用的漏洞都变成了程序自动利用了,大家还想去手工操作这些IIS漏洞么?让我们调整重心
- 由于学习需要安装matplotlib库,阅读网上教程后一直出现各种各样的错误,以下为我的经验总结:声明:本人python版本为3.8.0,p
- IE历来被web标准的拥护者所诟病,而当FireFox横空出世以后,更多的网页制作者开始关注web标准设计。看着FireFox的市场占有率不
- 在一般问题的优化中,最速下降法和共轭梯度法都是非常有用的经典方法,但最速下降法往往以”之”字形下降,速度较慢,不能很快的达到最优值,共轭梯度
- pandas中iloc()函数DataFrame.iloc纯基于整数位置的索引。import pandas as pdmydict = [{
- 这是由十几位视觉设计师设计的挂历,每个月份都是不同的风格,就像每个月都有不同温度和心情一样,思维跳跃性很大,可以作为挂历设计参考。当然,如果
- 不了解的同学先“点这里”看看什么是Firebug。简单来说,Firebug是Firefox上用来监视、编辑和调试站点的CSS、HTML、DO
- 前几天,看到有人写了个superLink的东东,主要的做什么用呢?我们有时会给在大块元素加个window.location='htt
- 一.权限表mysql数据库中的3个权限表:user 、db、 host权限表的存取过程是:1)先从user表中的host、 user、 pa
- Acunetix Web Vulnerability Scanner 是一款国外产的及其优秀的扫描工具,可以帮忙挖掘网站内的诸多漏洞,包括常
- 面向对象编程的2个非常重要的概念:类和对象对象是面向对象编程的核心,在使用对象的过程中,为了将具有共同特征和行为的一组对象抽象定义,提出了另
- 用关键字 in 和not in 来 如下:qwe =[1,2,3,4,5] if 2 in qwe: print ‘good!' e