用了很久的os.path,今天发现竟然还有这么好用的库,记录下来以便使用。

1.调用库

from pathlib import

2.创建Path对象

p = Path('D:/python/1.py')

print(p)

#可以这么使用,相当于os.path.join()

p1 = Path('D:/python')

p2 = p1/'123'

print(p2)

结果

D:\python\1.py

D:\python\123

3.Path.cwd()

获取当前路径

path = Path.cwd()

print(path)

结果:

D:\python

4.Path.stat()

获取当前文件的信息

p = Path('1.py')

print(p.stat())

结果

os.stat_result(st_mode=33206, st_ino=8444249301448143, st_dev=2561774433, st_nlink=1, st_uid=0, st_gid=0, st_size=4, st_atime=1525926554, st_mtime=1525926554, st_ctime=1525926554)

5.Path.exists()

判断当前路径是否是文件或者文件夹

>>> Path('.').exists()

True

>>> Path('1.py').exists()

True

>>> Path('2.py').exists()

False

6.Path.glob(pattern)与Path.rglob(pattern)

Path.glob(pattern):获取路径下的所有符合pattern的文件,返回一个generator

目录下的文件如下:

以下是获取该目录下所有py文件的路径:

path=Path.cwd()

pys = path.glob('*.py')#pys是经过yield产生的迭代器

for py in pys:

print(py)

结果:

C:\python\1.py

C:\python\11.py

C:\python\1111.py

C:\python\11111.py

Path.rglob(pattern):与上面类似,只不过是返回路径中所有子文件夹的符合pattern的文件。

7.Path.is_dir()与Path.is_file()

Path.is_dir()判断该路径是否是文件夹

Path.is_file()判断该路径是否是文件

print('p1:')

p1 = Path('D:/python')

print(p1.is_dir())

print(p1.is_file())

print('p2:')

p2 = Path('D:/python/1.py')

print(p2.is_dir())

print(p2.is_file())

#当路径不存在时也会返回Fasle

print('wrong path:')

print(Path('D:/NoneExistsPath').is_dir())

print(Path('D:/NoneExistsPath').is_file())

结果

p1:

True

False

p2:

False

True

wrong path:

False

False

8.Path.iterdir()

当path为文件夹时,通过yield产生path文件夹下的所有文件、文件夹路径的迭代器

p = Path.cwd()

for i in p.iterdir():

print(i)

结果

D:\python\1.py

D:\python\11.py

D:\python\1111.py

D:\python\11111.py

D:\python\dir

9.Path.mkdir(mode=0o777,parents=Fasle)

根据路径创建文件夹

parents=True时,会依次创建路径中间缺少的文件夹

p_new = p/'new_dir'

p_new.mkdir()

p_news = p/'new_dirs/new_dir'

p_news.mkdir(parents=True)

结果

10.Path.open(mode='r', buffering=-1, encoding=None, errors=None, newline=None)

类似于open()函数

11.Path.rename(target)

当target是string时,重命名文件或文件夹

当target是Path时,重命名并移动文件或文件夹

p1 = Path('1.py')

p1.rename('new_name.py')

p2 = Path('11.py')

target = Path('new_dir/new_name.py')

p2.rename(target)

结果

12.Path.replace(target)

重命名当前文件或文件夹,如果target所指示的文件或文件夹已存在,则覆盖原文件

13.Path.parent(),Path.parents()

parent获取path的上级路径,parents获取path的所有上级路径

14.Path.is_absolute()

判断path是否是绝对路径

15.Path.match(pattern)

判断path是否满足pattern

16.Path.rmdir()

当path为空文件夹的时候,删除该文件夹

17.Path.name

获取path文件名

18.Path.suffix

获取path文件后缀

以上这篇对python3中pathlib库的Path类的使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

本文标题: 对python3中pathlib库的Path类的使用详解

本文地址: http://www.cppcns.com/jiaoben/python/241642.html

python3库_对python3中pathlib库的Path类的使用详解相关推荐

  1. 对python3中pathlib库的Path类的使用详解

    原文连接   https://www.jb51.net/article/148789.htm 1.调用库 ? 1 from pathlib import 2.创建Path对象 ? 1 2 3 4 5 ...

  2. python os模块安装方法_基于python中pygame模块的Linux下安装过程(详解)

    一.使用pip安装Python包 大多数较新的Python版本都自带pip,因此首先可检查系统是否已经安装了pip.在Python3中,pip有时被称为pip3. 1.在Linux和OS X系统中检查 ...

  3. python数组相减_对Python 中矩阵或者数组相减的法则详解

    对Python 中矩阵或者数组相减的法则详解 最近在做编程练习,发现有些结果的值与答案相差较大,通过分析比较得出结论,大概过程如下: 定义了一个计算损失的函数: def error(yhat,labe ...

  4. python url解码_对python中url参数编码与解码的实例详解

    一.简介 在python中url,对于中文等非ascii码字符,需要进行参数的编码与解码. 二.关键代码 1.url编码 对字符串编码用urllib.parse包下的quote(string, saf ...

  5. python3 asyncio 不阻塞_Python中的并发处理之asyncio包使用的详解

    导语:本文章记录了本人在学习Python基础之控制流程篇的重点知识及个人心得,打算入门Python的朋友们可以来一起学习并交流. 本文重点: 1.了解asyncio包的功能和使用方法: 2.了解如何避 ...

  6. pg时间戳怎么入oracle库,Oracle与PostgreSQL中Timestamp型公元前、后数值的详解及JDBC存取...

    字段:date value1: 2010-01-01 value2: 2010-01-01BC 1.直接向数据库插入数值时: oracle需要使用to_timestamp('2010-01-01',' ...

  7. python中pygame模块下载_基于python中pygame模块的Linux下安装过程(详解)

    pyhthon中pygame模块怎么安装?pyhthon中pygame模块怎么安装?鄙人为初二一名学生,闲来无事 钻研起电这句话还是建议问一下你们代课老师吧,因为你们老师是这方面专家,诺儿那边的话肯定 ...

  8. java负数用什么类型定义_(转) Java中的负数及基本类型的转型详解

    (转) https://my.oschina.net/joymufeng/blog/139952 面这行代码的输出是什么? 下面两行代码的输出相同吗? 请尝试在Eclipse中运行上面的两个代码片段, ...

  9. android 获取图片bitmap对象,Android中Glide获取图片Path、Bitmap用法详解

    脚本之家在此之前给大家介绍过图片加载框架Glide的基本用法介绍,大家可以先参考一下,本篇内容更加深入的分析了Glide获取图片Path.Bitmap用法,以及实现的代码分析. 1. 获取Bitmap ...

最新文章

  1. Ubuntu16下安装kaldi(使用物理主机)
  2. BAT看上了产业互联网
  3. 计算机中算术逻辑单元负责,算术逻辑单元
  4. C++11 并发指南三(std::mutex 详解)
  5. Mac启动时:boot task failed:fsck-safe处理办法
  6. linux中怎样建立批量用户,Linux 大批量建立用户
  7. Android开发之自定义view绘制坐标位置出错的问题解决
  8. shell编程之进阶篇五函数
  9. DotLucene 系列文章
  10. 让IE浏览器支持GreaseMonkey,解除YOBO的禁止下载mp3
  11. [NOIP2016]换教室(概率期望$DP$)
  12. android模拟器设置静态ip,安卓模拟器多开窗口挂手游切换不同IP防封号技术讲解...
  13. 九宫格锁屏和设置密码(九点密码盘)
  14. 制作颜色选择器(全)
  15. 复权不复权,天差与地别 | 量化投资中如何最准确的计算股票前后复权价(附代码)
  16. PDF打开后名称与实际文件名称不符的解决
  17. html去除背景颜色怎么设置,word文档背景颜色怎么去掉,文档背景颜色怎么去掉
  18. html中border的作用,border在html中是什么意思
  19. 华为社招机考考什么_华为机考一般考什么
  20. websocket协议和服务实现

热门文章

  1. not optimal php,php环境配置 配置
  2. 这头像是代表入职送理发福利吗?
  3. 如何入门Go语言?这个开源项目赶紧收藏!
  4. 微信上线新功能:再也不怕好友赖账了
  5. 每日一皮:我以为的工作量 VS 实际上的工作量
  6. Kubernetes 集群的零停机服务器更新 | 文末有料!
  7. 戴尔官网全网抄底价! 企业级高性能机Vostro仅¥1,999!更有额外福利等你来领!...
  8. 黄河科技学院计算机补考好过吗,学生吐槽:重修费每学分240元不该收 黄河科技学院回应:收费合理...
  9. ajax为什么会全局刷新,为什么发送ajax请求页面也会刷新呢?
  10. onnx:Resize in opset 11 to support Pytorch‘s behavior