深度学习python库之os、glob、shutil、pathlib

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

在深度学习处理数据集的时候,我们需要处理数据集的相关目录和文件,这里需要利用python的一些模块,本篇文章就是介绍这些模块。

一、glob模块

glob模块也是Python标准库中一个重要的模块,主要用来查找符合特定规则的目录和文件,并将搜索的到的结果返回到一个列表中。使用这个模块最主要的原因就是,该模块支持几个特殊的正则通配符,用起方便,这个将会在下方为大家进行详细讲解。我们主要使用glob模块的三个函数:glob.glob(),glob.iglob(),glob.escape()。
在这里插入图片描述

1.glob.glob()

这些函数的参数都是路径,如下图所示,但是路径可以配合操作符使用。比如下面的图片配合 *,即可获取所有的文件,glob.glob()会把获取的文件存储在一个列表里
在这里插入图片描述
在这里插入图片描述
这里也可以配合操作符[]匹配其他字符
在这里插入图片描述
在这里插入图片描述

2.glob.iglob()

glob.glob()是把文件存放在一个列表里,而iglob()则是利用一个迭代器来存储。如下图代码所示:
在这里插入图片描述
在这里插入图片描述
3.glob.escape()
glob.escape()函数用于转义字符串中的特殊字符,使其可以被正确地匹配。在使用glob模块进行文件路径匹配时,如果路径中包含特殊字符如"*“、”?“、”["等,需要使用glob.escape()函数进行转义,以免出现匹配错误的情况。例如:

import glob

path = '/path/to/dir/*'		#这里就是要读取名字为*的文件夹而不是用*匹配字符
files = glob.glob(glob.escape(path))

通过代码可以看出,escape的作用
在这里插入图片描述

二、os

os是“operating system”的缩写,os模块提供各种 Python 程序与操作系统进行交互的接口,使用os模块,一方面可以方便地与操作系统进行交互,另一方面页可以极大增强代码的可移植性。

1.os.getcwd()

这个函数的作用是获取当前工作路径(当前project的绝对路径)
代码如下(示例):

import os
print(os.getcwd())

1.os.listdir()

把当前project的所有文件名放在一个列表里。也可以输入参数,选着需要存入列表的文件,下面的代码和glob做一下对比。

import os
print(os.listdir())

在这里插入图片描述

import os
import glob
data_list = glob.glob("G:/dataset/UT_HAR/UT_HAR/data/*.csv")
print(data_list)
print(os.listdir("G:/dataset/UT_HAR/UT_HAR/data/"))

在这里插入图片描述
可以发现glob()方法输出的是整个的绝对路径,而listdir()存储的只是文件名。

2.常用的os.path模块

os.path模块是一个路径操作模块,与文件夹和文件的路径相关 。与深度学习相关最常用的就是,os.path.join()方法。
代码如下(示例):

import os

path1 = "/path/to/dir"
path2 = "file.txt"

joined_path = os.path.join(path1, path2)
print(joined_path)

在这里插入图片描述

  • 26
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值