python-pathlib
2019-12-12 04:27:17
我们知道在不同的操作系统中文件路径的组成方式是不同的,因此在python中关于路径的问题以往我们通常采用os.path.join来进行路径的字符串级别的串联,通过命令避免直接写死组成方式导致在不同系统中代码出错。
但是使用os.path命令还是非常底层且低效的,这也和python万物对象的思路不够吻合,之后python中就推出了新的面向对象的文件系统路径pathlib库,通过pathlib库可以很优雅且高效的完成适用于不同操作系统的文件路径操作。
from pathlib import Path def path_attribution(): # 初始化 p = Path('1.txt') """ 属性 """ # 带后缀的完整路径名 print(p.name) # 文件后缀 print(p.suffix) # 上级目录 print(p.parent) # 路径分割,返回元组 print(p.parts) def path_func(): # 初始化 p = Path('../preprocess') # 判断路径是否存在 print(p.exists) # 判断是否是目录 print(p.is_dir()) # 返回绝对路径 print(p.resolve()) # 创建目录 p.mkdir(exist_ok=True) # 修改权限 p.chmod(777) # 遍历目录中的子文件或者子文件夹 for iter in p.iterdir(): print(iter) # 解析相对于此路径的通配符 pattern,产生所有匹配的文件 for iter in p.glob("*.txt"): print(iter) # 拼接路径 p = p / '1.txt' with p.open('r') as fin: line = fin.readline() print(line) if __name__ == "__main__": # path_attribution() path_func()