引用官方的话,The old pathlib module on bitbucket is in bugfix-only mode. The goal of pathlib2 is to provide a backport of standard pathlib module which tracks the standard library module, so all the newest features of the standard pathlib can be used also on older Python versions.
大体意思: 老版本的pathlib模块处于仅修补程序模式,而新版本的pathlib2是以修补更新的pathlib而发布的,而且所有的新功能都可以兼容过去的旧版本python。

pathlib2和pathlib差不多,我一直用的pathlib, 所以这里就介绍下pathlib

from pathlib import Pathp = Path(r'd:\test\tt.txt.bk')
p.name                          # 获取文件名
# tt.txt.bk
p.stem                          # 获取文件名除后缀的部分
# tt.txt
p.suffix                        # 文件后缀
# .bk
p.suffixs                       # 文件的后缀们...
# ['.txt', '.bk']
p.parent                        # 相当于dirnanme
# WindowsPath('d:/test')
p.parents                       # 返回一个iterable, 包含所有父目录
# <WindowsPath.parents>
for i in p.parents:print(i)
# d:\test
# d:\
a.parts                         # 将路径通过分隔符分割成一个元祖
# ('d:\\', 'test', 'tt.txt.bk')p = Path(r'd:\test')
p = Path(p, 'tt.txt')           # 字符串拼接
p.exists()                      # 判断文件是否存在
p.is_file()                     # 判断是否是文件
p.is_dir()                      # 判断是否是目录
遍历文件夹
p = Path(r'd:\test')
# WindowsPath('d:/test')
p.iterdir()                     # 相当于os.listdir
p.glob('*')                     # 相当于os.listdir, 但是可以添加匹配条件
p.rglob('*')                    # 相当于os.walk, 也可以添加匹配条件创建文件夹
p = Path(r'd:\test\tt\dd')
p.mkdir(exist_ok=True)          # 创建文件目录(前提是tt目录存在, 否则会报错)
# 一般我会使用下面这种创建方法
p.mkdir((exist_ok=True, parents=True) # 递归创建文件目录文件详细信息
p = Path(r'd:\test\tt.txt')
p.stat()                        # 获取详细信息
# os.stat_result(st_mode=33206, st_ino=562949953579011, st_dev=3870140380,
# st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1525254557,
# st_mtime=1525254557, st_ctime=1525254557)
p.stat().st_size                # 文件大小
# 0
p.stat().st_ctime               # 创建时间
# 1525254557.2090347
# 其他的信息也可以通过相同方式获取
p.stat().st_mtime               # 修改时间

其他操作

p = Path.cwd()   # 获取当前目录
p.with_name('new.txt') #替换目录最后一个部分并返回一个新的路径
p.with_suffix('.txt') #替换扩展名,返回新的路径,扩展名存在则不变
p.is_symlink() #是否是软链接
p.is_socket() #是否是socket文件
p.is_block_device() #是否是块设备
p.is_char_device() #是否是字符设备
p.is_absolute() #是否是绝对路径
p.resolve() #返回一个新的路径,这个新路径就是当前Path对象的绝对路径,如果是软链接则直接被解析
p.absolute() #也可以获取绝对路径,但是推荐resolve()路径拼接和分解
# 传进多个字符串
Path('/', 'test','tt','dd','new.txt')
#使用Path.joinpath()
example_path3 = Path(r'd:\test\tt\dd').joinpath('new')
#利用 / 可以创建子路径
p = Path('d:\test\tt\dd')
example_path5 = p / 'new/new.txt'

具体详见官方文档

python中pathlib使用(告别os模块)相关推荐

  1. python 中文件输入输出及os模块对文件系统的操作

    整理了一下python 中文件的输入输出及主要介绍一些os模块中对文件系统的操作. 文件输入输出 1.内建函数open(file_name,文件打开模式,通用换行符支持),打开文件返回文件对象. 2. ...

  2. Python初级第2课——os模块(只读课堂)

    欢迎来到"只读课堂"! 这个模块和文件操作一样,使用它,可以与我们当前的系统进行交互. OS模块简单介绍 os模块主要有以下几种:posix(适用于unix操作系统) nt(win ...

  3. Python中常用的数据分析工具(模块)有哪些?

    本期Python培训分享:Python中常用的数据分析工具(模块)有哪些?Python本身的数据分析功能并不强,需要安装一些第三方的扩展库来增强它的能力.我们课程用到的库包括NumPy.Pandas. ...

  4. Python中计算程序的运行时间——timeit模块

    Python中计算程序的运行时间--timeit模块 绪论 一.timeit的基本用法 1.1 timeit.timeit()函数: 创建一个Timer实例,并运行代码进行计时,默认将代码执行一百万次 ...

  5. 《零基础入门学习Python》学习过程笔记【30模块中的函数,os模块,ospath模块中的函数(看了一点)】...

    注:os操作系统 1.如何使用模块中的函数? 先导入模块 import模块名 再用模块名.函数() >>> import random >>> random.ran ...

  6. pythonpath manager_python 路径操作工具 pathlib,比 os 模块好用太多

    在 python 当中,如果你想控制路径,基本上绕不开 os.path.我希望看完这篇文章以后,熟练使用 python 的你能立刻开始使用 pathlib 模块,一刻也不要耽误. pathlib 相对 ...

  7. Python基础知识点分享:OS模块的应用

    1.os模块 对于文件和目录进行处理 目录:就是文件夹 属性: os.name:查看当前系统的类型; 如果是windows -> nt 如果是max -> posix os.environ ...

  8. python中那纠结的os.system()与空格处理

    今天在写一个用来对vmware workstation虚拟机进行操作的小脚本,主要原理是用python来调用vmrun.exe,传递各种不同的参数给它,来进行不同的操作. 原理很简单,实现...其实也 ...

  9. python pitfall (陷阱)--不同平台os模块文件名排序

    2019独角兽企业重金招聘Python工程师标准>>> 标题取的太大了,但只先记录一点,说明python os模块在不同平台下不同的行为.可能以后会添加,主要为抛砖引玉... 环境: ...

  10. Python(七)之OS模块

    文件系统功能:os模块 python编程时,经常和文件.目录打交道,这是就离不了os模块.os模块包含普遍的操作系统功能,与具体的平台无关.以下列举常用的命令: 目录: os.mkdir('/tmp/ ...

最新文章

  1. 一个小清新的知识管理和问题讨论平台
  2. 人工智能克服了类脑硬件的绊脚石
  3. 多项式拟合缺点_机器学习——机器学习算法优缺点综述
  4. 2-Tenor AF AFT400-实战-Lync Server 2010-集成-2012-01-19
  5. Linux yum 报错:One of the configured repositories failed (Unknown), and yum doesn't have.
  6. maven junit scope test坑
  7. python电影推荐算法_电影推荐系统python实现
  8. 刪數 (Standard IO)
  9. 如何解决网络连接配置和dns异常
  10. android 应用升级sdk版本号,Bugly Android 应用升级 SDK 常见问题
  11. 「美团 CodeM 复赛」城市网络
  12. CFS 调度器学习笔记
  13. 韦根协议W26|W34通讯CPU卡读头HX-W26CPU在门禁梯控设备集成安装注意事项
  14. GEE主成分分析全解析
  15. 教师节HTML祝福网页,教师节的祝福语
  16. UOS(unity operating system)统一操作系统
  17. “裸辞” 备战15天三面美团,交叉面却被吊起来锤
  18. iqooneo3支持鸿蒙系统吗,iQOO Neo3搭载144Hz竞速屏:支持全局自适应刷新率
  19. TI-Davinci开发系列之七DVSDK-4.03目录介绍
  20. 笔记本在Win7/Win8/win8.1下安装OS X 10.9.3懒人版通用教程

热门文章

  1. 新笔记本无法激活Office解决办法
  2. 加密壳的一般脱壳步骤与实例演示
  3. 8种常见的大数据分析模型
  4. 你能给芯片产业贡献什么价值?李力游博士发问
  5. Could not chdir to home directory /app/fileserver: Permission denied的解决方法
  6. latex04-LaTeX的字体字号设置
  7. flash player_Flash Player检测技术出土
  8. [人月神话]读书笔记9--再论没有银弹(No Silver Bullet Refired)
  9. vs2010安装完vc助手之后字体变成斜体如何解决?
  10. UE4-(蓝图)第十四课平视显示器(HUD显示)