对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类的使用详解 的全部内容, 来源链接: utcz.com/z/328839.html

回到顶部