美文网首页
路径处理库pathlib使用记录

路径处理库pathlib使用记录

作者: 三方斜阳 | 来源:发表于2021-02-08 12:52 被阅读0次

    Python3的系统标准库pathlib模块的 Path 对路径的操作会更简单,基本可以替代 os.path。新版本的pathlib2是以修补更新的pathlib2而发布的,而且所有的新功能都可以兼容过去的旧版本python。
    下面是一些使用到的记录,更多使用到的功能以后再添加。

    遍历文件夹

    遍历指定目录文件夹下面的所有文件,在路径对象后面直接使用iterdir()方法,该方法返回一个生成器,循环遍历出所有指定目录下的目录路径。可以很方便对文件进行操作,如合并所有文件等:

    合并所有文件
    from pathlib2 import Path
    # 返回目录中最后一个部分的扩展名
    example_path = Path('D:/project/En_extract/aclImdb/test/neg')
    files=[path for path in example_path.iterdir()]
    print(len(files))#12500
    print(files[0:5])
    >>
    [WindowsPath('D:/project/En_extract/aclImdb/test/neg/0_2.txt'), WindowsPath('D:/project/En_extract/aclImdb/test/neg/10000_4.txt'), WindowsPath('D:/project/En_extract/aclImdb/test/neg/10001_1.txt'), WindowsPath('D:/project/En_extract/aclImdb/test/neg/10002_3.txt'), WindowsPath('D:/project/En_extract/aclImdb/test/neg/10003_3.txt')]
    >>
    
    with open ("test_neg.txt",'w',encoding='utf-8') as out:
        for item in files:
            with open(item,'r',encoding="utf-8") as inp:
                for line in inp:
                    out.writelines(line+"\n")
    print("done!!")
    

    获取当前目录

    from pathlib2 import Path
    current_path = Path.cwd()
    print(current_path)
    >>D:\project\En_extract
    

    创建和删除文件夹

    创建文件目录mkdir方法接收两个参数:
    parents:如果父目录不存在,是否创建父目录。
    exist_ok:只有在目录不存在时创建目录,目录已存在时不会抛出异常。

    from pathlib2 import Path
    example_path = Path('./test1/test2/test3')
    
    # 创建文件目录,在这个例子中因为本身不存在test1,test2,test3,由于parents为True,所以都会被创建出来。
    example_path.mkdir(parents = True, exist_ok = True)
    # 删除路径对象目录,如果要删除的文件夹内包含文件就会报错
    example_path.rmdir()
    

    参考:

    路径处理库pathlib使用记录

    相关文章

      网友评论

          本文标题:路径处理库pathlib使用记录

          本文链接:https://www.haomeiwen.com/subject/jfyxxltx.html