Python 快速教程(标准库03):路径与文件 (os.path包, glob包)
admin
2023-07-31 00:27:06
0

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

 

os.path包

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

1234567891011 import os.pathpath = \’/home/vamei/doc/file.txt\’ print(os.path.basename(path))    # 查询路径中包含的文件名print(os.path.dirname(path))     # 查询路径中包含的目录 info = os.path.split(path)       # 将路径分割成文件名和目录两个部分,放在一个表中返回path2 = os.path.join(\’/\’, \’home\’, \’vamei\’, \’doc\’, \’file1.txt\’)  # 使用目录名和文件名构成一个路径字符串 p_list = [path, path2]print(os.path.commonprefix(p_list))    # 查询多个路径的共同部分

 

此外,还有下面的方法:

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

 

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

1234567891011 import os.path path = \’/home/vamei/doc/file.txt\’ print(os.path.exists(path))    # 查询文件是否存在 print(os.path.getsize(path))   # 查询文件大小print(os.path.getatime(path))  # 查询文件上一次读取的时间print(os.path.getmtime(path))  # 查询文件上一次修改的时间 print(os.path.isfile(path))    # 路径是否指向常规文件print(os.path.isdir(path))     # 路径是否指向目录文件

 

(实际上,这一部份类似于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下的所有文件:

12 import globprint(glob.glob(\’/home/vamei/*\’))

 

总结

文件系统

os.path

glob.glob


相关内容

热门资讯

500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
python绘图库Matplo... 本文简单介绍了Python绘图库Matplotlib的安装,简介如下: matplotlib是pyt...
Prometheus+Graf... 一,Prometheus概述 1,什么是Prometheus?Prometheus是最初在Sound...