標籤:

Python每日一練0023

問題

如何判斷一個文件是否存在

解決方案

這個問題可以分成幾類問題

如果這裡的文件指的是文件或目錄,我們可以用os.path.exists()方法

>>> import os>>> os.path.exists(test)True

如果這裡的文件指的是普通的文件,我們可以用os.path.isfile()方法

>>> import os>>> os.path.isfile(test.txt)True>>> os.path.exists(test.txt)False

如果這裡的文件指的是目錄,我們可以用os.path.isdir()方法

>>> import os>>> os.path.isfile(test)False>>> os.path.isdir(test)True

並且在Python 3.4之後,可以使用面向對象的方法(使用pathlib庫)來判斷,方法名和上面是一樣的,舉個例子

>>> from pathlib import Path>>> with Path(test) as p:... print(p.exists())...True

討論

需要注意的是,不管是os.path還是pathlib的方法,isfileisdir都是跟隨符號鏈接(軟鏈接)的,所以對於同一個路徑,可能會出現os.path.isfileos.path.islink返回都是True

os.path還包含與文件相關的很多實用方法,詳細見:docs.python.org/3/libra

來源

Python Cookbook

關注

歡迎關注我的微信公眾號:python每日一練

weixin.qq.com/r/YygOFnn (二維碼自動識別)

推薦閱讀:

網路知識補充
Python面試之 is 和 == 的區別
我為什麼不贊同使用Python作為啟蒙語言
Python爬蟲基礎總結
用Python玩GTA 5—使用OpenCV讀取遊戲面面

TAG:Python |