pythonwithopenas
『壹』 python3 with open()用法
w 是寫入模式
r是讀取模式
wb 是二進制寫入
with open('a.jpg'.'wb')as f: 後面跟一段f.write()
『貳』 python里的with open(file name) as file obj是什麼意思
就是打開一個文件並聲明變數file obj 接收打開後的文件對象,同時with語句塊會在程序結束時候自動關閉打開的文件句柄,不會造成內存存泄露之後的問題
大概等效於
try:
file_obj = open(file_name)
#with裡面你寫的代碼
except Exception:
raise Exception
finally:
if file_obj :
file_obj.close()
『叄』 軟體測試中,python 中 open與with open 的區別
open函數
1.open函數: file=open(filename, encoding='utf-8'),open()函數是Python內置的用於對文件的讀寫操作,返回的是文件的流對象(而不是文件本身,所以使用的方法都是流對象的方法)。使用這個函數時可以指定encoding參數(Python2.7中不支持),因為Python代碼在不同的平台環境中使用的默認編碼方式不同,有可能會發生編譯出錯的問題。
2. filename參數:在open中的文件名參數filename中,包含的路徑表示雖然可以根據不同的環境使用斜杠和反斜杠,但在Python中表路徑時,斜杠都是正確的。
3. 文件操作對象file:流對象file,即open的默認模式下的返回值。使用for循環對對象file進行迭代時,每次迭代都會自動分離出一行(效果相當於對readlines結果的for循環遍歷):
with創建臨時運行環境
作用:with用於創建一個臨時的運行環境,運行環境中的代碼執行完後自動安全退出環境。
文件操作:使用open進行文件操作使建議使用with創建運行環境,可以不用close()方法關閉文件,無論在文件使用中遇到什麼問題都能安全的退出,即使發生錯誤,退出運行時環境時也能安全退出文件並給出報錯信息。
with open(』/path/to/file』, 『r』) as f:
print(f.read())
這和前面的try … finally是一樣的,但是代碼更佳簡潔,並且不必調用f.close()方法。
如果想了解跟多相關的執行可以來傳智播客軟體測試學習
『肆』 python中使用open需要close關閉,有不用關閉的語法么
有的,
with open('d:\\a.txt','r') as f:
....content = f.read()
這樣讀完會自動關閉
『伍』 python中with python中with as 是什麼意思剛入門求解釋!!!
這個語法是用來代替傳統的try...finally語法的。
with EXPRESSION [ as VARIABLE] WITH-BLOCK
基本思想是with所求值的對象必須有一個__enter__()方法,一個__exit__()方法。
緊跟with後面的語句被求值後,返回對象的__enter__()方法被調用,這個方法的返回值將被賦值給as後面的變數。當with後面的代碼塊全部被執行完之後,將調用前面返回對象的__exit__()方法。
file=open("/tmp/foo.txt")
try:
data=file.read()
finally:
file.close()
使用with...as...的方式替換,修改後的代碼是:
withopen("/tmp/foo.txt")asfile:
data=file.read()
#!/usr/bin/envpython
#with_example01.py
classSample:
def__enter__(self):
print"In__enter__()"
return"Foo"
def__exit__(self,type,value,trace):
print"In__exit__()"
defget_sample():
returnSample()
withget_sample()assample:
print"sample:",sample
執行結果為
In__enter__()
sample:Foo
In__exit__()
1. __enter__()方法被執行
2. __enter__()方法返回的值 - 這個例子中是"Foo",賦值給變數'sample'
3. 執行代碼塊,列印變數"sample"的值為 "Foo"
4. __exit__()方法被調用with真正強大之處是它可以處理異常。可能你已經注意到Sample類的__exit__方法有三個參數- val, type 和 trace。這些參數在異常處理中相當有用。
請採納!
『陸』 Python文件讀寫
常見的讀寫操作:
Python內置了讀寫文件的函數,用法和C是兼容的。本節介紹內容大致有:文件的打開/關閉、文件對象、文件的讀寫等。僅示例介紹 TXT 類型文檔的讀寫,也就是最基礎的文件讀寫,也需要注意編碼問題;
open() close() with open(...) as ...
看以下示例就能了解 Python 的 open() 及 close() 函數。這邊調用 read()方法可以一次讀取文件的全部內容,Python把內容讀到內存,用一個str對象表示,具體使用參見下文。
在 E 盤 python_file 文件夾下新建一 a.txt,輸入隨意,如下:
Python 操作 打開及關閉方式 如下:
注意 open() 之後 一定要 close()。但由於文件讀寫時都可能產生IOError,為了保證無論是否出錯都能正確地關閉文件,我們用 try ... finally 來實現:
python 簡化了改寫法,即用 with open(...) as ... ; 建議之後文件讀寫都用該寫法:
上面,你肯定注意到了參數 "r";該參數決定了打開文件的模式:只讀,寫入,追加等。所有可取值見如下的完全列表。這個參數是非強制的,默認文件訪問模式為只讀(r)。
相關參數:
File 對象
file 為一對象,它有一些內置屬性,如下
file對象的屬性:
read() read(size) readline() readlines()
之前的例子已經接觸到了 read() 函數,該函數會會一次性讀取文件的全部內容,如果能確保文件的大小,自然可以。但若文件過大,內存就爆了,所以,可以反復調用read(size)方法,每次最多讀取size個位元組的內容;也可調用 readline() 每次讀取一行內容;而調用readlines()可以一次讀取所有內容並按行返回list。總之,根據需求來。僅以 txt 文件為例,其他的文件讀取需要特殊處理;另外,文件的格式編碼方式也需要注意;這邊僅介紹讀取方法,其他的會出專題來學習。
在D:\python_file 下新建 poet.txt;示例如下,由於一個中文會佔多個位元組,故read(size) 部分會亂碼,如:
write()
寫文件和讀文件是一樣的,唯一區別是調用open()函數時,傳入標識符'w'或者'wb'表示寫文本文件或寫二進制文件;'a' 對應的表示追加等。
如下示例,由於 write.txt 文件不存在,創建該文件並寫入:
在上例基礎上,繼續,該文件被重寫:
繼續,這次使用追加,會在文件結尾追加:
https://blog.csdn.net/msspark/article/details/86745391
https://www.cnblogs.com/tianyiliang/p/8192703.html
https://www.cnblogs.com/camilla/p/7234657.html
https://blog.csdn.net/songlh1234/article/details/83316468
https://www.php.cn/python-tutorials-412484.html
https://blog.csdn.net/weay/article/details/80946152
https://blog.csdn.net/xc_zhou/article/details/81044836
『柒』 Python3 with open 怎樣處理文件不存在的異常
try:
withopen("path/to/filename.file","r")asf:
pass
#dowithfilehandle
exceptExceptionase:
print(e)
#dowithexception