python 如何获取文件夹中的全部文件

 更新时间:2023年01月07日 10:21:25   作者:南妮儿  
在神经网络准备训练集的时候,经常需要从文件夹中读取全部图片。经常遇到的有两种方式,一种是os.listdir()另一种是glob,本文结合示例代码对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获取文件夹文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 浅谈pytorch中的dropout的概率p

    浅谈pytorch中的dropout的概率p

    这篇文章主要介绍了浅谈pytorch中的dropout的概率p,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-05-05
  • 如何用Python合并lmdb文件

    如何用Python合并lmdb文件

    这篇文章主要为大家详细介绍了如何用Python合并lmdb文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • 基于Python编写一个B站全自动抽奖的小程序

    基于Python编写一个B站全自动抽奖的小程序

    本文将利用Python编写一个B站全自动抽奖的小程序,可以实时监控自己关注的UP主,如果关注的UP主中有人发布了抽奖的动态,就自动参与这个抽奖。这样就能不错过任何一个可以暴富的机会了。需要的可以参考一下
    2022-03-03
  • django实现登录时候输入密码错误5次锁定用户十分钟

    django实现登录时候输入密码错误5次锁定用户十分钟

    这篇文章主要介绍了django实现登录时候输入密码错误5次锁定用户十分钟,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • 对tensorflow 中tile函数的使用详解

    对tensorflow 中tile函数的使用详解

    今天小编就为大家分享一篇对tensorflow 中tile函数的使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Python实现DDos攻击实例详解

    Python实现DDos攻击实例详解

    这篇文章主要给大家介绍了关于Python实现DDos攻击的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-02-02
  • python如何使用import引入其他目录文件或自定义模块

    python如何使用import引入其他目录文件或自定义模块

    这篇文章主要介绍了python如何使用import引入其他目录文件或自定义模块方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Python JSON常用编解码方法代码实例

    Python JSON常用编解码方法代码实例

    这篇文章主要介绍了Python JSON常用编解码方法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • PyTorch如何搭建一个简单的网络

    PyTorch如何搭建一个简单的网络

    这篇文章主要介绍了PyTorch如何搭建一个简单的网络,帮助大家更好的理解和学习PyTorch,感兴趣的朋友可以了解下
    2020-08-08
  • Python打印不合法的文件名

    Python打印不合法的文件名

    这篇文章主要介绍了Python打印不合法的文件名,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下的相关资料
    2020-07-07

最新评论