Python-with open() as f的用法及說明
更新時(shí)間:2022年12月20日 11:36:58 作者:半島鐵盒@
這篇文章主要介紹了Python-with open() as f的用法及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
Python-with open() as f的用法
with open(r'filename.txt') as f: data_user=pd.read_csv(f) #文件的讀操作 with open('data.txt', 'w') as f: f.write('hello world') #文件的寫操作
相關(guān)參數(shù)
r
:以只讀方式打開文件。文件的指針將會(huì)放在文件的開頭。這是**默認(rèn)模式**。rb
:以二進(jìn)制格式打開一個(gè)文件用于只讀。文件指針將會(huì)放在文件的開頭。這是默認(rèn)模式。r+
:打開一個(gè)文件用于讀寫。文件指針將會(huì)放在文件的開頭。rb+
:以二進(jìn)制格式打開一個(gè)文件用于讀寫。文件指針將會(huì)放在文件的開頭。w
:打開一個(gè)文件只用于寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。wb
:以二進(jìn)制格式打開一個(gè)文件只用于寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。w+
:打開一個(gè)文件用于讀寫。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。wb+
:以二進(jìn)制格式打開一個(gè)文件用于讀寫。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。a
:打開一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。也就是說,新的內(nèi)容將會(huì)被寫入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫入。ab
:以二進(jìn)制格式打開一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。也就是說,新的內(nèi)容將會(huì)被寫入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫入。a+
:打開一個(gè)文件用于讀寫。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。文件打開時(shí)會(huì)是追加模式。如果該文件不存在,創(chuàng)建新文件用于讀寫。ab+
:以二進(jìn)制格式打開一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。如果該文件不存在,創(chuàng)建新文件用于讀寫。
file對(duì)象的屬性
file.read([size])
:將文件數(shù)據(jù)作為字符串返回,可選參數(shù)size控制讀取的字節(jié)數(shù)file.readlines([size])
:返回文件中行內(nèi)容的列表,size參數(shù)可選file.write(str)
:將字符串寫入文件file.writelines(strings)
:將字符串序列寫入文件file.close()
:關(guān)閉文件file.closed
:表示文件已經(jīng)被關(guān)閉,否則為Falsefile.mode
:Access文件打開時(shí)使用的訪問模式file.encoding
:文件所使用的編碼file.name
:文件名file.newlines
:未讀取到行分隔符時(shí)為None,只有一種行分隔符時(shí)為一個(gè)字符串,當(dāng)文件有多種類型的行結(jié)束符時(shí),則為一個(gè)包含所有當(dāng)前所遇到的行結(jié)束的列表file.softspace
:為0表示在輸出一數(shù)據(jù)后,要加上一個(gè)空格符,1表示不加。這個(gè)屬性一般程序員用不著,由程序內(nèi)部使用
附
一道例題
將ecb.bmp的前128字節(jié)替換為bmp文件格式特有的字節(jié)的腳本
from Crypto.Util.number import long_to_bytes with open('ecb.bmp','rb') as f: #讀入 data=f.read() pre=0x424d76483f00000000007600000028000000000f000070080000010004000000000000483f00000000000000000000000000000000000000000000008000008000000080800080000000800080008080000080808000c0c0c0000000ff0000ff000000ffff00ff000000ff00ff00ffff0000ffffff00ffffffffffffffffffffL out=long_to_bytes(pre)+data[128:] with open('out.bmp','wb') as g: #寫入 g.write(out)
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
程序員寫Python時(shí)的5個(gè)壞習(xí)慣,你有幾條?
這篇文章主要介紹了程序員寫Python時(shí)的5個(gè)壞習(xí)慣,你有幾條?有的習(xí)慣會(huì)讓 Bug 變得隱蔽難以追蹤,當(dāng)然,也有的并沒有錯(cuò)誤,只是個(gè)人覺得不夠優(yōu)雅。本文有示例代碼,感興趣的朋友跟隨小編一起看看吧2018-11-11Python?Type?Hints?學(xué)習(xí)之從入門到實(shí)踐
Type?Hints(類型注解)進(jìn)一步強(qiáng)化了Python是一門強(qiáng)類型語(yǔ)言的特性,它在?Python3.5?中第一次被引入。使用Type?Hints可以讓我們編寫出帶有類型的Python代碼,本文將詳細(xì)介紹一下Type?Hints,感興趣的小伙伴可以關(guān)注一下2021-11-11使用python實(shí)現(xiàn)語(yǔ)音文件的特征提取方法
今天小編就為大家分享一篇使用python實(shí)現(xiàn)語(yǔ)音文件的特征提取方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01python實(shí)現(xiàn)web郵箱掃描的示例(附源碼)
這篇文章主要介紹了python實(shí)現(xiàn)web郵箱掃描的示例(附源碼),幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-03-03Python基于opencv實(shí)現(xiàn)的人臉識(shí)別(適合初學(xué)者)
OpenCV是一個(gè)基于BSD許可開源發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺庫(kù),下面這篇文章主要給大家介紹了關(guān)于Python基于opencv實(shí)現(xiàn)的人臉識(shí)別,文中通過實(shí)例代碼介紹的非常詳細(xì),本文的教程非常適合初學(xué)者,需要的朋友可以參考下2022-03-03pytorch __init__、forward與__call__的用法小結(jié)
這篇文章主要介紹了pytorch __init__、forward與__call__的用法小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-02-02