python中pathlib模塊的用法有哪些?
在這個世界上,人們每天都在用Python完成著不同的工作。而文件操作,則是大家最常需要解決的任務之一。使用Python,你可以輕松為他人生成精美的報表,也可以用短短幾行代碼快速解析、整理上萬份數據文件。本文向大家推薦一個被低估的Python標準庫模塊pathlib模塊。
一、pathlib模塊介紹
為了讓文件處理變得更簡單,Python在3.4版本引入了一個新的標準庫模塊:pathlib。
pathlib模塊基于面向對象思想設計,封裝了非常多與文件操作相關的功能。
如果使用它來改寫上面的代碼,結果會大不相同。
二、python中pathlib模塊的用法
1、使用pathlib模塊改寫代碼
原代碼:
importos.path
defunify_ext_with_os_path(path):
"""統一目錄下的.txt文件名后綴為.csv
"""
forfilenameinos.listdir(path):
basename,ext=os.path.splitext(filename)
ifext=='.txt':
abs_filepath=os.path.join(path,filename)
os.rename(abs_filepath,os.path.join(path,f'{basename}.csv'))
使用pathlib模塊后的代碼:
frompathlibimportPath
defunify_ext_with_pathlib(path):
forfpathinPath(path).glob('*.txt'):
fpath.rename(fpath.with_suffix('.csv'))
和舊代碼相比,新函數只需要兩行代碼就完成了工作。
2、使用/運算符來組合文件路徑
#舊朋友:使用os.path模塊
>>>importos.path
>>>os.path.join('/tmp','foo.txt')
'/tmp/foo.txt'
#新潮流:使用/運算符
>>>frompathlibimportPath
>>>Path('/tmp')/'foo.txt'
PosixPath('/tmp/foo.txt')
3、使用.read_text()來快速讀取文件內容
#標準做法,使用withopen(...)打開文件
>>>withopen('foo.txt')asfile:
...print(file.read())
...
foo
#使用pathlib可以讓這件事情變得更簡單
>>>frompathlibimportPath
>>>print(Path('foo.txt').read_text())
foo
4、使用pathlib中Path對象與只接受字符串路徑的標準庫函數兼容使用
>>>p=Path('/tmp')
#可以直接對Path類型對象p進行join
>>>os.path.join(p,'foo.txt')
'/tmp/foo.txt'
以上就是pathlib模塊的用法還有很多,而且都很好用。快用起來吧~更多Python學習教程請關注IT培訓機構:千鋒教育。