在業務中遇到了需要判斷檔案是否存在的需求,所以順便整理一下python判斷檔案是否存在的方法。在操作檔案前,檢查檔案是否存在也是乙個良好的程式設計習慣。通常來說,有三種常見方式來判斷資料夾或檔案是否存在,分別是os模組,try語句和pathlib模組。
os模組
os模組中的os.path.exists(path)可以檢測檔案或資料夾是否存在,path為檔案/資料夾的名字/絕對路徑。返回結果為true/false
print os.path.exists("/untitled/chapter3.py")
print os.path.exists("
chapter3.py
")
這種用法既能檢測檔案也能檢測資料夾,這也帶來問題,假如我想找乙個命名為helloworld的檔案,使用exists可能命中同名的helloworld資料夾。這時使用os.path.isdir()和os.path.isfile()可以加以區分。如果進一步想判斷是否可以操作檔案,可以使用os.access(path, model),model為操作模式,具體如下
if__name__ == '
__main__':
if os.access("
/untitled/chapter3.py
", os.f_ok):
"file path is exist.
"if os.access("
/untitled/chapter3.py
", os.r_ok):
"file is accessible to read
"if os.access("
/untitled/chapter3.py
", os.w_ok):
"file is accessible to write
"if os.access("
/untitled/chapter3.py
", os.x_ok):
"file is accessible to execute
"
try語句
對檔案最簡單的操作方法是直接使用open()方法,但是檔案不存在,或發生許可權問題時open方法會報錯,所以配合try語句使用來捕捉一異常。try...open語法簡單優雅,可讀性強,而且不需要引入任何模組
if__name__ == '
__main__':
try:
f = open("
/untitled/chapter3.py")
f.close()
except
ioerror:
"file is not accessible.
"
pathlib模組
在python2中pathlib屬於第三方模組,需要單獨安裝。但是python3中pathlib已經是內建模組了
pathlib用法簡單,與open類似。首先使用pathlib建立物件,進而使用exists(),is_file()等方法
if__name__ == '
__main__':
path = pathlib.path("
chapter3.py")
path.exists()
print path.is_file()
Python判斷檔案是否存在
判斷檔案是否存在主要有兩種方法 import os os.path.exists filename true false以上方法中入參的路徑可以是檔案路徑也可以是資料夾路徑,所以可以用於判斷檔案以及資料夾是否存在。但是有一種特殊的情況是可能入參傳的是乙個資料夾路徑,但是資料夾路徑的上一層有個相同的檔...
python判斷檔案是否存在
在操作檔案前,檢查檔案是否存在也是乙個良好的程式設計習慣。通常來說,有三種常見方式來判斷資料夾或檔案是否存在,分別是os模組,try語句和pathlib模組。os模組 os模組中的os.path.exists path 可以檢測檔案或資料夾是否存在,path為檔案 資料夾的名字 絕對路徑。返回結果為...
python判斷檔案是否存在
在操作檔案前,檢查檔案是否存在也是乙個良好的程式設計習慣。通常來說,有三種常見方式來判斷資料夾或檔案是否存在,分別是os模組,try語句和pathlib模組。os模組 os模組中的os.path.exists path 可以檢測檔案或資料夾是否存在,path為檔案 資料夾的名字 絕對路徑。返回結果為...