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

  

posted @ 2019-12-12 20:27  hyserendipity  阅读(314)  评论(0编辑  收藏  举报