首頁技術(shù)文章正文

在軟件測試時,python 中 open與with open 的區(qū)別?

更新時間:2020-04-10 來源:黑馬程序員 瀏覽量:

open函數(shù)

1、open函數(shù): file=open(filename, encoding='utf-8'),open()函數(shù)是Python內(nèi)置的用于對文件的讀寫操作,返回的是文件的流對象(而不是文件本身,所以使用的方法都是流對象的方法)。使用這個函數(shù)時可以指定encoding參數(shù)(Python2.7中不支持),因為Python代碼在不同的平臺環(huán)境中使用的默認(rèn)編碼方式不同,有可能會發(fā)生編譯出錯的問題。

2、  filename參數(shù):在open中的文件名參數(shù)filename中,包含的路徑表示雖然可以根據(jù)不同的環(huán)境使用斜杠和反斜杠,但在Python中表路徑時,斜杠都是正確的。

3、文件操作對象file:流對象file,即open的默認(rèn)模式下的返回值。使用for循環(huán)對對象file進行迭代時,每次迭代都會自動分離出一行(效果相當(dāng)于對readlines結(jié)果的for循環(huán)遍歷)。


with創(chuàng)建臨時運行環(huán)境

作用:with用于創(chuàng)建一個臨時的運行環(huán)境,運行環(huán)境中的代碼執(zhí)行完后自動安全退出環(huán)境。

文件操作:使用open進行文件操作使建議使用with創(chuàng)建運行環(huán)境,可以不用close()方法關(guān)閉文件,無論在文件使用中遇到什么問題都能安全的退出,即使發(fā)生錯誤,退出運行時環(huán)境時也能安全退出文件并給出報錯信息。

with open(’/path/to/file’, ‘r’) as f:

print(f.read())

這和前面的try … finally是一樣的,但是代碼更佳簡潔,并且不必調(diào)用f.close()方法。

如果想了解跟多相關(guān)的執(zhí)行可以來黑馬程序員學(xué)習(xí)軟件測試

分享到:
在線咨詢 我要報名
和我們在線交談!