目录
  1. 1. 文件处理时常用的OS库的函数
  2. 2. glob.glob()函数以及glob.iglob函数
常用路径相关函数os glob

文件处理时常用的OS库的函数

分割文件名和后缀的函数os.path.splitext()

1
(filename,extension) = os.path.splitext(imgs[img_id])
os.path.exists(path) 如果路径 path 存在,返回 True;如果路径 path 不存在,返回 False。
os.path.getsize(path) 返回文件大小,如果文件不存在就返回错误
os.path.isfile(path) 判断路径是否为文件
os.path.isdir(path) 判断路径是否为目录
os.path.samefile(path1, path2) 判断目录或文件是否相同
os.path.sameopenfile(fp1, fp2) 判断fp1和fp2是否指向同一文件
os.path.samestat(stat1, stat2) 判断stat tuple stat1和stat2是否指向同一个文件

glob.glob()函数以及glob.iglob函数

glob.glob()函数

glob模块是最简单的模块之一,内容非常少。用它可以查找符合特定规则的文件路径名。跟使用windows下的文件搜索差不多。查找文件只用到三个匹配符:” * ”, “?”, “[]”。” * ”匹配0个或多个字符;”?”匹配单个字符;”[]”匹配指定范围内的字符,如:[0-9]匹配数字。

返回所有匹配的文件路径列表。它只有一个参数pathname,定义了文件路径匹配规则,这里可以是绝对路径,也可以是相对路径。

glob.iglob
获取一个可遍历对象,使用它可以逐个获取匹配的文件路径名。与glob.glob()的区别是:glob.glob同时获取所有的匹配路径,而glob.iglob一次只获取一个匹配路径。这有点类似于.NET中操作数据库用到的DataSet与DataReader。下面是一个简单的例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import random
import numpy as np
import glob
f = glob.glob(r"./*.py")
print(f)
fi = glob.iglob(r"./*.py")
print(fi)

for py in f:
print(py)
for pyf in fi:
print(pyf)

output:
['.\\Test.py', '.\\Test2.py']
<generator object _iglob at 0x00000287E7A83B48>
.\Test.py
.\Test2.py

.\Test.py
.\Test2.py
文章作者: HazardFY
文章链接: http://hazardfy.github.io/2019/11/16/常用路径相关函数os-glob/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 HazardFY's BLOG
打赏
  • 微信
  • 支付寶