用了很久的os.path,今天發(fā)現(xiàn)竟然還有這么好用的庫,記錄下來以便使用。
1.調(diào)用庫
from pathlib import
2.創(chuàng)建Path對象
p = Path('D:/python/1.py')print(p)#可以這么使用,相當(dāng)于os.path.join()p1 = Path('D:/python')p2 = p1/'123'print(p2)
結(jié)果
D:/python/1.pyD:/python/123
3.Path.cwd()
獲取當(dāng)前路徑
path = Path.cwd()print(path)
結(jié)果:
D:/python
4.Path.stat()
獲取當(dāng)前文件的信息
p = Path('1.py')print(p.stat())
結(jié)果
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()
判斷當(dāng)前路徑是否是文件或者文件夾
>>> Path('.').exists()True>>> Path('1.py').exists()True>>> Path('2.py').exists()False
6.Path.glob(pattern)與Path.rglob(pattern)
Path.glob(pattern):獲取路徑下的所有符合pattern的文件,返回一個(gè)generator
目錄下的文件如下:
以下是獲取該目錄下所有py文件的路徑:
path=Path.cwd()pys = path.glob('*.py')#pys是經(jīng)過yield產(chǎn)生的迭代器for py in pys: print(py)
結(jié)果:
C:/python/1.pyC:/python/11.pyC:/python/1111.pyC:/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())#當(dāng)路徑不存在時(shí)也會(huì)返回Fasleprint('wrong path:')print(Path('D:/NoneExistsPath').is_dir())print(Path('D:/NoneExistsPath').is_file())
結(jié)果
p1:TrueFalsep2:FalseTruewrong path:FalseFalse
8.Path.iterdir()
當(dāng)path為文件夾時(shí),通過yield產(chǎn)生path文件夾下的所有文件、文件夾路徑的迭代器
p = Path.cwd()for i in p.iterdir(): print(i)
結(jié)果
D:/python/1.pyD:/python/11.pyD:/python/1111.pyD:/python/11111.pyD:/python/dir
9.Path.mkdir(mode=0o777,parents=Fasle)
根據(jù)路徑創(chuàng)建文件夾
parents=True時(shí),會(huì)依次創(chuàng)建路徑中間缺少的文件夾
p_new = p/'new_dir'p_new.mkdir()p_news = p/'new_dirs/new_dir'p_news.mkdir(parents=True)
新聞熱點(diǎn)
疑難解答
圖片精選