这篇文章主要给大家介绍了关于大蟒中pathlib模块的基本用法与总结的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用大蟒具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
前言
相比常用的os.path而言,pathlib对于目录路径的操作更简介也更贴近预言的式的。但是它不单纯是为了简化操作,还有更大的用途。
pathlib是计算机编程语言内置库,Python文档给它的定义是:pathlib模块面向对象的文件系统路径(面向对象的文件系统路径)。pathlib提供表示文件系统路径的类,其语义适用于不同的操作系统。
更多详细的内容可以参考官方文档:https://个文档。python。org/3/library/path库。html #方法
1. pathlib模块下Path类的基本使用
从pathlib导入路径
path=r ' d:\ python \ py charm 2020 \ program \ path lib模块的基本使用' py '
p=路径(路径)
打印(姓名)#获取文件名
打印(第页)#获取文件名除后缀的部分
打印(p。后缀)#获取文件后缀
打印(父页)#相当于目录名
打印(家长家长家长家长)
打印(家长页)#返回一个可迭代的包含所有父目录
对于我在p。家长:
打印(一)
打印(零件)#将路径通过分隔符分割成一个元组
运行结果如下:
pathlib模块的基本使用。巴拉圭
pathlib模块的基本使用。巴拉圭
D:\python\pycharm2020\program
D:\python
WindowsPath.parents
D:\python\pycharm2020\program
D:\python\pycharm2020
D:\python
D:\
(' D:\\ ',' python ',' pycharm2020 ',' program ',' pathlib模块的基本使用. py’)
Path.cwd():返回代表当前目录的新路径对象
Path.home():返回代表用户主目录的新路径对象
Path.expanduser():返回一个包含扩展的~和~用户结构的新路径
从pathlib导入路径
path_1=Path.cwd() #获取当前文件路径
path_2=Path.home()
p1=路径(' ~/pathlib模块的基本使用. py’)
打印(路径_1)
打印(路径_2)
print(p1.expanduser())
运行结果如下:
D:\python\pycharm2020\program
丙:\用户\管理员
C:\Users\Administrator\pathlib模块的基本使用。巴拉圭
Path.stat():返回包含该路径信息的os.stat _结果对象
从pathlib导入路径
导入日期时间
p=Path('pathlib模块的基本使用. py’)
print(p.stat()) #获取文件详细信息
打印(p.stat().st_size) #文件的字节大小
打印(p.stat().st_ctime) #文件创建时间
打印(p.stat().st_mtime) #上次修改文件的时间
创建时间=日期时间。日期时间。from时间戳(p . stat().st_ctime)
ST _ mtime=日期时间。日期时间。from时间戳(p . stat().st_mtime)
打印(f '该文件创建时间:{creat_time} ')
打印(f '上次修改该文件的时间:{st_mtime} ')
运行结果如下:
os.stat_result(st_mode=33206,st_ino=3659174698076635,st_dev=3730828260,st_nlink=1,st_uid=0,st_gid=0,st_size=543,st_atime=1597366826,st_mtime=1597366826,st _ ctime=1597320585
543
1597320585.7657475
1597366826.9711637
该文件创建时间:2020-08-13 20:09:45.765748
上次修改该文件的时间:2020-08-14 09:00:26.971164
从不同stat().圣_属性返回的时间戳表示自1970年一月一日以来的秒数,可以用datetime.fromtimestamp将时间戳转换为有用的时间格式。
Path.exists():路径是否指向现有的文件或目录
Path.resolve(strict=False):使路径成为绝对路径,解析任何符号链接。返回一个新的路径对象
从pathlib导入路径
p1=路径(' pathlib模块的基本使用. py') #文件
p2=Path(r ' d:\ python \ py charm 2020 \ program ')#文件夹
absolute_path=p1.resolve()
打印(绝对路径)
打印(路径(' . ')).exists())
print(p1.exists(),p2.exists())
print(p1.is_file(),p2.is_file())
print(p1.is_dir(),p2.is_dir())
打印(路径('/python ').exists())
打印(路径('不存在文件').exists())
运行结果如下:
d:\ python \ pycharm 2020 \ program \ path lib模块的基本使用。巴拉圭
真实的
真实真实
对还是错
假真
真实的
错误的
Path.iterdir():当路径指向一个目录时,产生目录内容的路径对象
从pathlib导入路径
p=路径('/python ')
对于彼得迪尔()中的子级:
打印(子)
运行结果如下:
\python\Anaconda
\python\EVCapture
\ python \ Evernote _ 6。21 .3 .2048 .可执行程序的扩展名
\ python \记事本
\ python \ py魅力-社区-2020。1 .3 .可执行程序的扩展名
\python\pycharm2020
\ python \ pye图表-资产-主数据
\ python \ pye图表-图库-母版
\ python \崇高文本3
Path.glob(模式):glob这个路径所代表的目录中给定的相对模式,产生所有匹配的文件(任何种类),"**"模式的意思是"这个目录和所有子目录,递归"。换句话说,它支持递归全球变暖.
注意:在大型目录树中使用"**"模式可能会消耗过多的时间
递归遍历该目录下所有文件,获取所有符合模式的文件,返回一个发电机。
获取该文件目录下所有。巴拉圭文件
从pathlib导入路径
path=r ' d:\ python \ py charm 2020 \ program '
p=路径(路径)
file_name=p.glob('**/*).py’)
打印(类型(文件名))#类“生成器”
对于文件名中的我:
打印(一)
获取该文件目录下所有。使用联合图象专家组文件交换格式存储的编码图像文件扩展名图片
从pathlib导入路径
path=r ' d:\ python \ py charm 2020 \ program '
p=路径(路径)
file_name=p.glob('**/*).jpg’)
print(type(file _ name))# class ' generator '
对于文件名中的我:
打印(一)
获取给定目录下所有。文本文件(文本文件)文件、使用联合图象专家组文件交换格式存储的编码图像文件扩展名图片和。巴拉圭文件
从pathlib导入路径
def获取文件(模式,路径):
所有文件=[]
p=路径(路径)
对于模式中的项目:
file_name=p.rglob(f'**/*{item} ')
所有_文件.扩展(文件名)
返回所有文件
path=input('请输入文件路径:')
results=get_files([' .txt ',' .jpg ',' .py'],路径)
打印(结果)
对于结果中的文件:
打印(文件)
Path.mkdir(mode=0o777,parents=False,exist_ok=False)
在这个给定的路径创建一个新的目录。如果给定了模式,它将与进程的umask值结合来确定文件模式和访问标志。如果路径已经存在,将引发FileExistsError .
如果双亲为没错,则根据需要创建此路径的任何缺失的父级;它们是用默认权限创建的,不考虑模式(模仿POSIX mkdir -p命令)。
如果双亲为假(默认值),缺少的父级将引发FileNotFoundError .
如果存在_确定为假(默认值),则在目标目录已经存在的情况下会引发FileExistsError .
如果存在_确定为没错,将忽略FileExistsError异常(与POSIX mkdir -p命令的行为相同),但前提是最后一个路径组件不是现有的非目录文件。
在3.5版本中更改:添加了存在_确定参数。
Path.rmdir():删除此目录。目录必须为空。
从pathlib导入路径
p=Path(r ' d:\ python \ py charm 2020 \ program \ test ')
p.mkdir()
p.rmdir()
从pathlib导入路径
p=路径(r'D:\python\test1\test2\test3 ')
p.mkdir(parents=True) #如果双亲为没错,则根据需要创建该路径的任何缺少的父路径
p.rmdir() #删除的是测试3文件夹
从pathlib导入路径
p=路径(r'D:\python\test1\test2\test3 ')
p.mkdir(exist_ok=True)
Path.unlink(missing_ok=False):移除此文件或符号链接。如果路径指向一个目录,请使用Path.rmdir()来代替。如果失踪_确定为假(默认值),则在路径不存在时会引发FileNotFoundError .如果失踪_确定为没错,将忽略FileNotFoundError异常。在3.8版本中更改:添加了失踪_确定参数。
Path.rename(目标):将这个文件或目录重命名为给定的目标,并返回一个指向目标的新路径实例。在Unix操作系统上,如果目标存在并且是一个文件,如果用户有权限,它将被静默替换。目标可以是字符串或另一个路径对象。
Path.open(mode='r ',buffering=-1,encoding=无,errors=无,newline=无):像内置的打开()函数一样打开路径指向的文件。
从pathlib导入路径
p=Path('foo.txt ')
p.open(mode='w ')。写(“一些文本”)
target=Path('new_foo.txt ')
p .重命名(目标)
content=target.open(mode='r ')。阅读()
打印(内容)
target.unlink()
2. 与os模块用法的对比
总结
关于python pathlib模块的基本用法和总结这篇文章就到这里了。有关python pathlib模块用法的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。