一 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