pythonpathlib模块的用法有哪些?

来源:千锋教育
发布时间:2023-11-13 02:04:16
分享

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

在这个世界上,人们每天都在用Python完成着不同的工作。而文件操作,则是大家最常需要解决的任务之一。使用Python,你可以轻松为他人生成精美的报表,也可以用短短几行代码快速解析、整理上万份数据文件。本文向大家推荐一个被低估的Python标准库模块pathlib模块。

一、pathlib模块介绍

为了让文件处理变得更简单,Python在3.4版本引入了一个新的标准库模块:pathlib。

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

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

二、python中pathlib模块的用法

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模块的用法还有很多,而且都很好用。快用起来吧~更多Python学习教程请关注IT培训机构:千锋教育。

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • python制表符添加空白有哪些方法? python制表符添加空白有哪些方法?在编程中,空白指的是空格、表格、换行符等非印刷文字。可以使用空白组织输出,使输出更容易阅读。1、在字符串中添加制表符,可使用字符组合\t,如下代码所示:print
  • 如何在Python中生成ndarray 如何在Python中生成ndarray生成ndarray最简单的方法就是array函数,array函数接受任意的序列型对象,生成一个新的包含传递数据的NumPy数组。例子如下:importnumpya
  • Python中NumPy的基本概念 python中NumPy的基本概念ndarray是一种高效多维数组,提供了基于数组的便捷算术操作以及灵活的广播功能,如下我们可以快速生成一个2*3的数组。importnumpyasnpdata=np.
  • python如何将相对路径转换为绝对路径? python如何将相对路径转换为绝对路径?一、相对路径与绝对路径1、参数是绝对路径,返回True>>>os.path.isabs('.')False2、参数是相对路径,返回False>
  • python绝对和相对导入的介绍 python绝对和相对导入的介绍自Python3开始,所有导入都默认为绝对导入,它将首先查找系统包。1、概念但是如果你的软件包有一个名为sys的模块,并且你想把它导入到同一个包内的另一个模块中,你必须
  • python包初始化有什么好处? python中包初始化有什么好处?除了标识一个包,__init__.py还有一个目的-包初始化。这就是为什么它被称为init!初始化是在包导入时触发的,换句话说,导入包时调用__init__.py。当