在操作檔案前,檢查檔案是否存在也是乙個良好的程式設計習慣。通常來說,有三種常見方式來判斷資料夾或檔案是否存在,分別是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)
:print
"file path is exist."
if os.access(
"/untitled/chapter3.py"
, os.r_ok)
:print
"file is accessible to read"
if os.access(
"/untitled/chapter3.py"
, os.w_ok)
:print
"file is accessible to write"
if os.access(
"/untitled/chapter3.py"
, os.x_ok)
:print
"file is accessible to execute"
try語句
對檔案最簡單的操作方法是直接使用open()方法,但是檔案不存在,或發生許可權問題時open方法會報錯,所以配合try語句使用來捕捉一異常。try…open語法簡單優雅,可讀性強,而且不需要引入任何模組
if __name__ ==
'__main__'
:try
:f =
open
("/untitled/chapter3.py"
)f.close(
)except ioerror:
print
"file is not accessible."
pathlib模組
在python2中pathlib屬於第三方模組,需要單獨安裝。但是python3中pathlib已經是內建模組了
pathlib用法簡單,與open類似。首先使用pathlib建立物件,進而使用exists(),is_file()等方法
if __name__ ==
'__main__'
:path = pathlib.path(
"chapter3.py"
)print 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 判斷檔案是否存在
在業務中遇到了需要判斷檔案是否存在的需求,所以順便整理一下python判斷檔案是否存在的方法。在操作檔案前,檢查檔案是否存在也是乙個良好的程式設計習慣。通常來說,有三種常見方式來判斷資料夾或檔案是否存在,分別是os模組,try語句和pathlib模組。os模組 os模組中的os.path.exist...