Python学习笔记10:标准库之路径和文件(os.path包,glob包)

时间:2021-10-05 04:02:44
一 os.path包
且看代码:
import os.path
path="/home/User/Document/test.txt"


print(os.path.basename(path)) # 查询路径中包含的文件名
print(os.path.dirname(path)) # 查询路径中包含的目录

info = os.path.split(path) # 将路径分割成文件名和目录两个部分,放在一个表中返回
print(info)


path2 = os.path.join('/', 'home', 'User', 'Document', 'file1.txt') # 使用目录名和文件名构成一个路径字符串
print(path2)


p_list = [path, path2]
print(os.path.commonprefix(p_list)) # 查询多个路径的共同部


输出:
test.txt
/home/User/Document
('/home/User/Document', 'test.txt')
/home\User\Document\file1.txt
/home



另外还有:
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))     # 路径是否指向目录文件


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


该文件名表达式的语法与Python自身的正则表达式不同,对应关系大致如下:


Filename Pattern Expression      Python Regular Expression

*                                .*

?                                .

[0-9]                            same

[a-e]                            same

[^mnp]                           same