python3库_对python3中pathlib库的Path类的使用详解
用了很久的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类的使用详解相关推荐
- 对python3中pathlib库的Path类的使用详解
原文连接 https://www.jb51.net/article/148789.htm 1.调用库 ? 1 from pathlib import 2.创建Path对象 ? 1 2 3 4 5 ...
- python os模块安装方法_基于python中pygame模块的Linux下安装过程(详解)
一.使用pip安装Python包 大多数较新的Python版本都自带pip,因此首先可检查系统是否已经安装了pip.在Python3中,pip有时被称为pip3. 1.在Linux和OS X系统中检查 ...
- python数组相减_对Python 中矩阵或者数组相减的法则详解
对Python 中矩阵或者数组相减的法则详解 最近在做编程练习,发现有些结果的值与答案相差较大,通过分析比较得出结论,大概过程如下: 定义了一个计算损失的函数: def error(yhat,labe ...
- python url解码_对python中url参数编码与解码的实例详解
一.简介 在python中url,对于中文等非ascii码字符,需要进行参数的编码与解码. 二.关键代码 1.url编码 对字符串编码用urllib.parse包下的quote(string, saf ...
- python3 asyncio 不阻塞_Python中的并发处理之asyncio包使用的详解
导语:本文章记录了本人在学习Python基础之控制流程篇的重点知识及个人心得,打算入门Python的朋友们可以来一起学习并交流. 本文重点: 1.了解asyncio包的功能和使用方法: 2.了解如何避 ...
- pg时间戳怎么入oracle库,Oracle与PostgreSQL中Timestamp型公元前、后数值的详解及JDBC存取...
字段:date value1: 2010-01-01 value2: 2010-01-01BC 1.直接向数据库插入数值时: oracle需要使用to_timestamp('2010-01-01',' ...
- python中pygame模块下载_基于python中pygame模块的Linux下安装过程(详解)
pyhthon中pygame模块怎么安装?pyhthon中pygame模块怎么安装?鄙人为初二一名学生,闲来无事 钻研起电这句话还是建议问一下你们代课老师吧,因为你们老师是这方面专家,诺儿那边的话肯定 ...
- java负数用什么类型定义_(转) Java中的负数及基本类型的转型详解
(转) https://my.oschina.net/joymufeng/blog/139952 面这行代码的输出是什么? 下面两行代码的输出相同吗? 请尝试在Eclipse中运行上面的两个代码片段, ...
- android 获取图片bitmap对象,Android中Glide获取图片Path、Bitmap用法详解
脚本之家在此之前给大家介绍过图片加载框架Glide的基本用法介绍,大家可以先参考一下,本篇内容更加深入的分析了Glide获取图片Path.Bitmap用法,以及实现的代码分析. 1. 获取Bitmap ...
最新文章
- Ubuntu16下安装kaldi(使用物理主机)
- BAT看上了产业互联网
- 计算机中算术逻辑单元负责,算术逻辑单元
- C++11 并发指南三(std::mutex 详解)
- Mac启动时:boot task failed:fsck-safe处理办法
- linux中怎样建立批量用户,Linux 大批量建立用户
- Android开发之自定义view绘制坐标位置出错的问题解决
- shell编程之进阶篇五函数
- DotLucene 系列文章
- 让IE浏览器支持GreaseMonkey,解除YOBO的禁止下载mp3
- [NOIP2016]换教室(概率期望$DP$)
- android模拟器设置静态ip,安卓模拟器多开窗口挂手游切换不同IP防封号技术讲解...
- 九宫格锁屏和设置密码(九点密码盘)
- 制作颜色选择器(全)
- 复权不复权,天差与地别 | 量化投资中如何最准确的计算股票前后复权价(附代码)
- PDF打开后名称与实际文件名称不符的解决
- html去除背景颜色怎么设置,word文档背景颜色怎么去掉,文档背景颜色怎么去掉
- html中border的作用,border在html中是什么意思
- 华为社招机考考什么_华为机考一般考什么
- websocket协议和服务实现
热门文章
- not optimal php,php环境配置 配置
- 这头像是代表入职送理发福利吗?
- 如何入门Go语言?这个开源项目赶紧收藏!
- 微信上线新功能:再也不怕好友赖账了
- 每日一皮:我以为的工作量 VS 实际上的工作量
- Kubernetes 集群的零停机服务器更新 | 文末有料!
- 戴尔官网全网抄底价! 企业级高性能机Vostro仅¥1,999!更有额外福利等你来领!...
- 黄河科技学院计算机补考好过吗,学生吐槽:重修费每学分240元不该收 黄河科技学院回应:收费合理...
- ajax为什么会全局刷新,为什么发送ajax请求页面也会刷新呢?
- onnx:Resize in opset 11 to support Pytorch‘s behavior