对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.py D:\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.py C:\python\ 11.py C:\python\ 1111.py C:\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()) #当路径不存在时也会返回Fasle print ( 'wrong path:' ) print (Path( 'D:/NoneExistsPath' ).is_dir()) print (Path( 'D:/NoneExistsPath' ).is_file()) |
结果
1
2
3
4
5
6
7
8
9
|
p1: True False p2: False True wrong path: False False |
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.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时,会依次创建路径中间缺少的文件夹
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 ...
随机推荐
- jquery遍历----end()方法
定义和用法 end() 方法结束当前链条中的最近的筛选操作,并将匹配元素集还原为之前的状态. 举个栗子: <body> <ul class="first"> ...
- PL/SQL简单使用——导入、导出数据表
1.使用PL/SQL导出.导入表 在使用PL/SQL操作oracle数据库时,经常使用的一个操作就是将自己写的数据表导出,或者想把他人的数据表导入到自己的数据库中.虽然是很简单的操作,但自己之前一直出 ...
- C语言之标准头文件模板
/*======================================================================================* * 版权 : xxx ...
- windows 10 透明毛玻璃,winform和wpf方法
win10的透明毛玻璃,winform和wpf方法,win7.8不能用,只是win10 public partial class Form1 : Form { [DllImport("use ...
- C++ map 使用erase在windows下崩溃,在linux下没有问题的原因
注意:此程序在win环境下会出现上述描述的问题:在mac环境下第一种方式是正常运行的.Map.erase有3个重载函数: void erase(iterator position); size_typ ...
- CSL 的神奇序列(猜猜猜?)
链接:https://ac.nowcoder.com/acm/contest/551/F来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 524288K,其他语言10485 ...
- android一个app打开另一个app的指定页面
一个app打开另一个app的指定页面方法 有以下几种 1.通过包名.类名 2.通过intent的 action 3.通过Url 方案1. ComponentName componentName = n ...
- leetcode1:两数之和
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 实例: 给定 nums = [2, 7, 11, 15],target = ...
- Go 学习
学习Golang,可以在线实践:https://www.tutorialspoint.com/go/index.htm
- python第十九天 关于方法,函数
1.先从简单的函数说起 from inspect import isfunction 导入判断是否是function def foo():pass 定义了一个函数 print(foo) <fun ...