当前位置: 首页 > 图灵资讯 > 行业资讯> python中pathlib模块的用法有哪些?

python中pathlib模块的用法有哪些?

来源:图灵python
时间: 2024-09-04 20:02:37

人们每天都在这个世界上使用它 Python 完成不同的工作。文件操作是最常见的任务之一。使用 Python,您可以很容易地为他人生成精美的报告,也可以快速分析和整理成千上万的数据文件。本文推荐了一个被低估的报告 Python 标准库模块pathlibibliblib 模块。

一、pathlib 模块介绍

为了使文件处理更容易,Python 在 3.4 版本引入了一个新的标准库模块:pathlib。

pathlib 基于面向对象的思想设计,模块包装了许多与文件操作相关的功能。

如果用它来重写上面的代码,结果会大不相同。

pathlib模块在python中的用法

1、使用 pathlib 模块重写代码

原代码:

importos.path


defunify_ext_with_os_path(path):
"""统一目录下.txt文件名后缀为.csv
"""
forfilenameinos.listdir(path):
basename,ext=os.path.splitext(filename)
ifext=='.txt':
abs_filepath=os.path.join(path,filename)
os.rename(abs_filepath,os.path.join(path,f'{basename}.csv'))

使用 pathlib 模块后的代码:

frompathlibimportPath

defunify_ext_with_pathlib(path):
forfpathinPath(path).glob('*.txt'):
fpath.rename(fpath.with_suffix('.csv'))

与旧代码相比,新函数只需要两行代码就能完成工作。

2、使用/运算符合组合文件路径

#老朋友:使用os.path模块
>>>importos.path
>>>os.path.join('/tmp','foo.txt')
'/tmp/foo.txt'

#新潮流:使用/操作符
>>>frompathlibimportPath
>>>Path('/tmp')/'foo.txt'
PosixPath('/tmp/foo.txt')

3、使用.read_text()快速阅读文件内容

#标准做法,使用withopen(...)打开文件
>>>withopen('foo.txt')asfile:
...print(file.read())
...
foo

#使用pathlib可以使这件事变得更简单
>>>frompathlibimportPath
>>>print(Path('foo.txt').read_text())
foo

4、在Pathlib中使用path 对象与只接受字符串路径的标准库函数兼容

>>>p=Path('/tmp')
#Path类型对象p可以直接join
>>>os.path.join(p,'foo.txt')
'/tmp/foo.txt'

以上是pathlib模块的用法很多,都很好用。快用~