日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python判断文件是否为空文件对象_判断Python对象是不是为文件对象的方法有哪些...

發布時間:2025/5/22 python 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python判断文件是否为空文件对象_判断Python对象是不是为文件对象的方法有哪些... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

判斷Python對象是不是為文件對象的方法有哪些

發布時間:2020-08-13 14:01:00

來源:億速云

閱讀:76

作者:小新

這篇文章主要介紹判斷Python對象是不是為文件對象的方法有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

文件操作是開發中經常遇到的場景,那么如何判斷一個對象是文件對象呢?下面我們總結了3種常見的方法。

方法1:比較類型

第一種方法,就是判斷對象的type是否為filepython

>>>?fp?=?open(r"/tmp/pythontab.com")

>>>?type(fp)

>>>?type(fp)?==?file

True

注意:該方法對于從file繼承而來的子類不適用, 看下面的實例class?fileDetect(file):

pass?#?中間代碼無所謂,直接跳過不處理

fp2?=?fileDetect(r"/tmp/pythontab.com")

fileType?=?type(fp2)

print(fileType)

結果:

方法2:isinstance方法

要判斷一個對象是否為文件對象(file object),可以直接用isinstance()判斷。

如下代碼中,open得到的對象fp類型為file,當然是file的實例,而filename類型為str,自然不是file的實例>>>?isinstance(fp,?file)

True

>>>?isinstance(fp2,?file)

True

>>>?filename?=?r"/tmp/pythontab.com"

>>>?type(filename)

>>>?isinstance(filename,?file)

False

方法3:推測法

在python中,類型并沒有那么重要,重要的是”接口“。如果它走路像鴨子,叫聲也像鴨子,我們就認為它是鴨子(起碼在走路和叫聲這樣的行為上)。

按照這個思路我們就有了第3中判斷方法:判斷一個對象是否具有可調用的read,write,close方法(屬性)。def?isfile(f):

"""

Check?if?object?'f'?is?readable?file-like

that?it?has?callable?attributes?'read'?,?'write'?and?'close'

"""

try:

if?isinstance(getattr(f,?"read"),?collections.Callable)?\

and?isinstance(getattr(f,?"write"),?collections.Callable)?\

and?isinstance(getattr(f,?"close"),?collections.Callable):

return?True

except?AttributeError:

pass

return?False

以上是判斷Python對象是不是為文件對象的方法有哪些的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

總結

以上是生活随笔為你收集整理的python判断文件是否为空文件对象_判断Python对象是不是为文件对象的方法有哪些...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。