溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

對python3中pathlib庫的Path類的使用詳解

發布時間:2020-10-10 17:55:03 來源:腳本之家 閱讀:208 作者:AManFromEarth 欄目:開發技術

用了很久的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文件后綴

以上這篇對python3中pathlib庫的Path類的使用詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女