python 如何获取文件夹中的全部文件
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
注意,不能返回子文件夹下的文件,并且返回文件名与绝对路径。
到此这篇关于python 如何获取文件夹中的全部文件的文章就介绍到这了,更多相关python获取文件夹文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
python如何使用import引入其他目录文件或自定义模块
这篇文章主要介绍了python如何使用import引入其他目录文件或自定义模块方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-02-02
最新评论