对python3中pathlib库的Path类的使用详解
原文连接 https://www.jb51.net/article/148789.htm
1.调用库
|
1
|
from pathlib import |
2.创建Path对象
|
1
2
3
4
5
6
7
|
p = Path('D:/python/1.py')print(p)#可以这么使用,相当于os.path.join()p1 = Path('D:/python')p2 = p1/'123'print(p2) |
结果
|
1
2
|
D:\python\1.pyD:\python\123 |
3.Path.cwd()
获取当前路径
|
1
2
|
path = Path.cwd()print(path) |
结果:
|
1
|
D:\python |
4.Path.stat()
获取当前文件的信息
|
1
2
|
p = Path('1.py')print(p.stat()) |
结果
|
1
|
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()
判断当前路径是否是文件或者文件夹
|
1
2
3
4
5
6
|
>>> 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文件的路径:
|
1
2
3
4
|
path=Path.cwd()pys = path.glob('*.py')#pys是经过yield产生的迭代器for py in pys: print(py) |
结果:
|
1
2
3
4
|
C:\python\1.pyC:\python\11.pyC:\python\1111.pyC:\python\11111.py |
Path.rglob(pattern):与上面类似,只不过是返回路径中所有子文件夹的符合pattern的文件。
7.Path.is_dir()与Path.is_file()
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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())#当路径不存在时也会返回Fasleprint('wrong path:')print(Path('D:/NoneExistsPath').is_dir())print(Path('D:/NoneExistsPath').is_file()) |
结果
|
1
2
3
4
5
6
7
8
9
|
p1:TrueFalsep2:FalseTruewrong path:FalseFalse |
8.Path.iterdir()
当path为文件夹时,通过yield产生path文件夹下的所有文件、文件夹路径的迭代器
|
1
2
3
|
p = Path.cwd()for i in p.iterdir(): print(i) |
结果
|
1
2
3
4
5
|
D:\python\1.pyD:\python\11.pyD:\python\1111.pyD:\python\11111.pyD:\python\dir |
9.Path.mkdir(mode=0o777,parents=Fasle)
根据路径创建文件夹
parents=True时,会依次创建路径中间缺少的文件夹
|
1
2
3
4
5
|
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时,重命名并移动文件或文件夹
|
1
2
3
4
5
6
|
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类的使用详解的更多相关文章
- 转载~kxcfzyk:Linux C语言多线程库Pthread中条件变量的的正确用法逐步详解
Linux C语言多线程库Pthread中条件变量的的正确用法逐步详解 多线程c语言linuxsemaphore条件变量 (本文的读者定位是了解Pthread常用多线程API和Pthread互斥锁 ...
- 【转】UML类图与类的关系详解
UML类图与类的关系详解 2011-04-21 来源:网络 在画类图的时候,理清类和类之间的关系是重点.类的关系有泛化(Generalization).实现(Realization).依赖(D ...
- UML类图与类的关系详解
摘自:http://www.uml.org.cn/oobject/201104212.asp UML类图与类的关系详解 2011-04-21 来源:网络 在画类图的时候,理清类和类之间的关系是重点.类 ...
- [转]c++类的构造函数详解
c++构造函数的知识在各种c++教材上已有介绍,不过初学者往往不太注意观察和总结其中各种构造函数的特点和用法,故在此我根据自己的c++编程经验总结了一下c++中各种构造函数的特点,并附上例子,希望对初 ...
- Scala 深入浅出实战经典 第63讲:Scala中隐式类代码实战详解
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...
- Android中Intent传值与Bundle传值的区别详解
Android中Intent传值与Bundle传值的区别详解 举个例子我现在要从A界面跳转到B界面或者C界面 这样的话 我就需要写2个Intent如果你还要涉及的传值的话 你的Intent就要写两 ...
- phpcms加载系统类与加载应用类之区别详解
<?php 1. 加载系统类方法load_sys_class($classname, $path = ''", $initialize = 1)系统类文件所在的文件路径:/phpcms ...
- c++类的构造函数详解
c++类的构造函数详解 一. 构造函数是干什么的 class Counter{ public: // 类Counter的构造函数 // 特点:以类名作为函数名,无返回类 ...
- Java集合中List,Set以及Map等集合体系详解
转载请注明出处:Java集合中List,Set以及Map等集合体系详解(史上最全) 概述: List , Set, Map都是接口,前两个继承至collection接口,Map为独立接口 Set下有H ...
随机推荐
- ssh服务简介及应用与服务的进程的类型
SSH ,由 IETF 的网络小组(Network Working Group)所制定:SSH 为建立在应用层基础上的安全协议.SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议.利 ...
- java 调用webservice接口wsdl,推荐使用wsdl2java,放弃wsimport
网上说wsimport是jdk1.6后自带的客户端生成调用webservice接口的工具,其实我挺喜欢原生的东西,毕竟自家的东西用着应该最顺手啊,但往往让人惊艳的是那些集成工具. 本机jdk1.8.1 ...
- 从 TFS 迁移源代码到 git
准备工具: https://github.com/git-tfs/git-tfs 具体的安装步骤上面的 readme.md 中有说明.通过 Chocolatey 安装,如果本地没有 git ,会自动安 ...
- ARTS打卡计划第二周-Tips-mysql-binlog-connector-java的使用
最近发现一个挺不错的框架mysql-binlog-connector-java,可以实时监控binlog的变化. 首先检查mysql的binlog是否开启,在开启的情况下: 引入依赖 <depe ...
- Homework:奇偶性
// 程序功能: // 要求用户从键盘输入一个整数,判断其是奇数还是偶数 #include <stdio.h> int main() { int x; printf("输入一个整 ...
- Python学习笔记4基本数据类型
start:16:00 1.Python基本数据类型 (1)数字类型及其操作 整数类型 浮点数类型 浮点数间运算存在不确定尾数,不是bug 复数类型 数值运算操作符 (2)数值运算函数 . 2. ...
- 记忆化搜索 P1464 Function
题目描述 对于一个递归函数w(a,b,c) 如果a≤0 or b≤0 or c≤0就返回值1. 如果a>20 or b>20 or c>20就返回w(20,20,20) 如果a< ...
- SQL查询中连接--学习
一.开头说 不出意外,还是先说下SQL中所有的联接类型: 内连接.外连接(左连接.右连接 .全连接).交叉连接 然后接下来就是依次学习下各种连接的使用效果 二.各种连接秀 首先准备两张表 学生表: ...
- nltk分词
1.安装nltk 2.运行如下 >>>import nltk>>> nltk.download('punkt') 3.代码: import nltk sentenc ...
- GOF23设计模式
单例设计模式 饿汉式: