Python 快速教程(标准库03):路径与文件 (os.path包, glob包)

510 查看

路径与文件的简介请参看Linux文件系统

 

os.path包

os.path包主要是处理路径字符串,比如说’/home/vamei/doc/file.txt’,提取出有用信息。

 

此外,还有下面的方法:

os.path.normpath(path)   # 去除路径path中的冗余。比如’/home/vamei/../.’被转化为’/home’

 

os.path还可以查询文件的相关信息(metadata)。文件的相关信息不存储在文件内部,而是由操作系统维护的,关于文件的一些信息(比如文件类型,大小,修改时间)。

 

(实际上,这一部份类似于Linux中的ls命令的某些功能)

 

glob包

glob包最常用的方法只有一个, glob.glob()。该方法的功能与Linux中的ls相似(参看Linux文件管理命令),接受一个Linux式的文件名格式表达式(filename pattern expression),列出所有符合该表达式的文件(与正则表达式类似),将所有文件名放在一个表中返回。所以glob.glob()是一个查询目录下文件的好方法。

该文件名表达式的语法与Python自身的正则表达式不同 (你可以同时看一下fnmatch包,它的功能是检测一个文件名是否符合Linux的文件名格式表达式)。 如下:

Filename Pattern Expression      Python Regular Expression

*                                .*

?                                .

[0-9]                         same

[a-e]                         same

[^mnp]                    same

 

我们可以用该命令找出/home/vamei下的所有文件:

 

总结

文件系统

os.path

glob.glob