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

作者:AManFromEarth 时间:2023-05-11 23:44:49 

用了很久的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

目录下的文件如下:

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

以下是获取该目录下所有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)

结果

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

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)

结果

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

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文件后缀

来源:https://blog.csdn.net/AManFromEarth/article/details/80265843

标签:python3,pathlib,Path
0
投稿

猜你喜欢

  • Mysql 忘记root密码的完美解决方法

    2024-01-18 14:31:05
  • pytorch--之halfTensor的使用详解

    2021-08-18 14:44:08
  • Python中的if判断语句中包含or问题

    2021-12-03 14:30:21
  • 微信小程序页面缩放式侧滑效果的实现代码

    2023-09-02 05:21:45
  • Python数据结构与算法之算法分析详解

    2022-05-15 19:03:46
  • 通过JavaScript实现扑克牌游戏的示例代码

    2024-05-13 09:20:40
  • 网页表单项Input的高级限制级用法

    2008-10-27 16:50:00
  • 学习ASP和编程的28个观点

    2008-06-27 12:57:00
  • Python骚操作完美实现短视频伪原创

    2023-09-18 08:16:55
  • sql server利用不同语种语言显示报错错误消息的方法示例

    2024-01-23 17:40:39
  • Django 导出 Excel 代码的实例详解

    2021-04-01 05:56:41
  • parser.add_argument中的action使用

    2023-05-18 05:35:57
  • VMware中linux环境下oracle安装图文教程(一)

    2024-01-28 07:10:36
  • Python中urllib+urllib2+cookielib模块编写爬虫实战

    2023-10-21 19:02:35
  • 用asp给网站添加rss聚合功能

    2007-11-05 19:08:00
  • request基本使用及各种请求方式参数的示例

    2021-03-31 02:32:52
  • 彻底搞懂Python字符编码

    2023-10-14 01:05:03
  • 详解Django-auth-ldap 配置方法

    2023-05-16 14:50:17
  • go smtp实现邮件发送示例详解

    2023-06-23 22:05:14
  • Python使用pip安装报错:is not a supported wheel on this platform的解决方法

    2022-12-12 09:07:09
  • asp之家 网络编程 m.aspxhome.com