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()

浙公网安备 33010602011771号