99热热热_国产成人自拍一区_欧美一级网站_99热在线播放_国产精品乱码一区二区三区_久久精品国产一区二区三区

訂閱本欄目 RSS您所在的位置: 深山工作室 > python > 正文

總結(jié)一下with open()和open()的區(qū)別與使用方法

2022/9/14 15:23:30 字體: 瀏覽 1301

使用例子:
with open('app.txt', 'w', encoding="utf-8") as file:
    file.write(ls_cont)



1.用途:是python用來(lái)打開(kāi)本地文件的,他會(huì)在使用完畢后,自動(dòng)關(guān)閉文件,無(wú)需手動(dòng)書(shū)寫(xiě)close()

2.用法:
with open (file = "你要打開(kāi)的路徑名(或保存內(nèi)容的地址)",mode = "r/w/a",encoding = "utf-8") as f1:
        data = f1.read/write()
        print(data)

3.關(guān)于mde的三種模式:
    r:只讀  用read()
    w:只寫(xiě) 用write()            //會(huì)清除之前寫(xiě)的內(nèi)容
    a:追加內(nèi)容 用write()        //會(huì)在已經(jīng)寫(xiě)的內(nèi)容基礎(chǔ)上增加新的內(nèi)容


open與with open區(qū)別
open()完成后必須調(diào)用close()方法關(guān)閉文件,因?yàn)槲募?duì)象會(huì)占用操作系統(tǒng)的資源,并且操作系統(tǒng)同一時(shí)間能打開(kāi)的文件數(shù)量也是有限的,由于文件讀寫(xiě)時(shí)都有可能產(chǎn)生IOError,一旦出錯(cuò),后面的f.close()就不會(huì)調(diào)用。with open()則可以避免這樣的情況。


由于文件讀寫(xiě)時(shí)都有可能產(chǎn)生IOError,一旦出錯(cuò),后面的f.close()就不會(huì)調(diào)用。
所以,為了保證無(wú)論是否出錯(cuò)都能正確地關(guān)閉文件,我們可以使用try … finally來(lái)實(shí)現(xiàn):

def readFile():
    try:
        f =open('C:\\Users\\a\\Desktop\\測(cè)試文件 test.txt','r')
        try:
            data = f.read()
            print(data)
        except:
            print('error occurs while reading file')
        finally:
            f.close()
    except:
        print('rror occurs while reading file')

if __name__ == '__main__':
    readFile()
這樣的操作太麻煩了,可以通過(guò)with open語(yǔ)法來(lái)代替:

def read_file():
    try:
       with open('C:\\Users\\a\\Desktop\\測(cè)試文件 test.txt','r') as f:
           data = f.read()
           print(data)
    except:
        print('error occurs while reading file')

if __name__ == '__main__':
    read_file()
執(zhí)行結(jié)果與上例相同。這和前面的try … finally是一樣的,但是代碼更佳簡(jiǎn)潔,并且不必調(diào)用f.close()方法,文件讀寫(xiě)完成后,會(huì)自動(dòng)幫我們調(diào)用 close 方法。


-------------------- 分割線 ---------------------
其它擴(kuò)展閱讀:
代碼

#文件的讀操作
with open('input_filename.txt','r') as f:#r為標(biāo)識(shí)符,表示只讀
   df=pd.read_csv(f) 
   print(f.read())
'''
其他標(biāo)識(shí)符:
r: 以只讀方式打開(kāi)文件。
rb: 以二進(jìn)制格式打開(kāi)一個(gè)文件用于只讀。
r+: 打開(kāi)一個(gè)文件用于讀寫(xiě)。文件指針將會(huì)放在文件的開(kāi)頭。
rb+:以二進(jìn)制格式打開(kāi)一個(gè)文件用于讀寫(xiě)。
'''
#文件的寫(xiě)操作
with open('output_filename.csv', 'w') as f:
   f.write('hello world') 
'''
其他標(biāo)識(shí)符:
w: 打開(kāi)一個(gè)文件只用于寫(xiě)入。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。
wb: 以二進(jìn)制格式打開(kāi)一個(gè)文件只用于寫(xiě)入。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。
w+: 打開(kāi)一個(gè)文件用于讀寫(xiě)。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。
wb+:以二進(jìn)制格式打開(kāi)一個(gè)文件用于讀寫(xiě)。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。
a:打開(kāi)一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。也就是說(shuō),新的內(nèi)容將會(huì)被寫(xiě)入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫(xiě)入。
ab: 以二進(jìn)制格式打開(kāi)一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。也就是說(shuō),新的內(nèi)容將會(huì)被寫(xiě)入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫(xiě)入。
a+: 打開(kāi)一個(gè)文件用于讀寫(xiě)。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。文件打開(kāi)時(shí)會(huì)是追加模式。如果該文件不存在,創(chuàng)建新文件用于讀寫(xiě)。
ab+:以二進(jìn)制格式打開(kāi)一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。如果該文件不存在,創(chuàng)建新文件用于讀寫(xiě)。
''' 4

方法和屬性

f.read([size])   #將文件數(shù)據(jù)作為字符串返回,可選參數(shù)size控制讀取的字節(jié)數(shù)
f.readlines([size])   #返回文件中行內(nèi)容的列表,size參數(shù)可選
f.write(str)   #將字符串寫(xiě)入文件
f.writelines(strings)   #將字符串序列寫(xiě)入文件
f.close()   #關(guān)閉文件

f.closed #返回布爾值,文件已經(jīng)被關(guān)閉為T(mén)rue,否則為False
f.mode #Access文件打開(kāi)時(shí)使用的訪問(wèn)模式
f.encoding #文件所使用的編碼
f.name #文件名
f.newlines #未讀取到行分隔符時(shí)為None,只有一種行分隔符時(shí)為一個(gè)字符串,當(dāng)文件有多種類型的行結(jié)束符時(shí),則為一個(gè)包含所有當(dāng)前所遇到的行結(jié)束的列表
f.softspace #為0表示在輸出一數(shù)據(jù)后,要加上一個(gè)空格符,1表示不加。這個(gè)屬性一般程序員用不著,由程序內(nèi)部使用

注意

要讀取非UTF-8編碼的文本文件,需要給open()函數(shù)傳入encoding參數(shù)
讀取時(shí)調(diào)用read()將一次性讀取文件的全部?jī)?nèi)容,如果文件有10G,內(nèi)存就爆了,保險(xiǎn)起見(jiàn)可反復(fù)調(diào)用read(size)方法,每次最多讀取size個(gè)字節(jié)的內(nèi)容。
調(diào)用readline()可以每次讀取一行內(nèi)容,調(diào)用readlines()一次讀取所有內(nèi)容并按行返回list。
根據(jù)需要調(diào)用:如果文件很小,read()一次性讀取最方便;如果不能確定文件大小,反復(fù)調(diào)用read(size)比較保險(xiǎn);如果是配置文件,調(diào)用readlines()最方便

后一頁(yè):python中 f 用法
相關(guān)閱讀
對(duì)于轉(zhuǎn)換的不確定數(shù)數(shù)用ubound進(jìn)行下限處理
振輝消音器
深山旅行社網(wǎng)站管理系統(tǒng) v1.7
諸城現(xiàn)代旅行社有限公司
asp利文本文檔加FSO統(tǒng)計(jì)網(wǎng)站訪問(wèn)量的方法
對(duì)access數(shù)據(jù)表進(jìn)行操作
兼容IE和FF的收藏本站、設(shè)為首頁(yè)代碼
愛(ài)尚學(xué)生網(wǎng)
共有0條關(guān)于《總結(jié)一下with open()和open()的區(qū)別與使用方法》的評(píng)論
發(fā)表評(píng)論
正在加載評(píng)論......
返回頂部發(fā)表評(píng)論
呢 稱:
表 情:
內(nèi) 容:
評(píng)論內(nèi)容:不能超過(guò) 1000 字,需審核,請(qǐng)自覺(jué)遵守互聯(lián)網(wǎng)相關(guān)政策法規(guī)。
驗(yàn)證碼: 驗(yàn)證碼 
網(wǎng)友評(píng)論聲明,請(qǐng)自覺(jué)遵守互聯(lián)網(wǎng)相關(guān)政策法規(guī)。

您發(fā)布的評(píng)論即表示同意遵守以下條款:
一、不得利用本站危害國(guó)家安全、泄露國(guó)家秘密,不得侵犯國(guó)家、社會(huì)、集體和公民的合法權(quán)益;
二、不得發(fā)布國(guó)家法律、法規(guī)明令禁止的內(nèi)容;互相尊重,對(duì)自己在本站的言論和行為負(fù)責(zé);
三、本站對(duì)您所發(fā)布內(nèi)容擁有處置權(quán)。

更多信息>>欄目類別選擇
百度小程序開(kāi)發(fā)
微信小程序開(kāi)發(fā)
微信公眾號(hào)開(kāi)發(fā)
uni-app
asp函數(shù)庫(kù)
ASP
DIV+CSS
HTML
python
更多>>同類信息
Android移動(dòng)端自動(dòng)化測(cè)試:使用UIAutomatorViewer與Selenium定位元素
python通過(guò)代碼修改pip下載源讓下載庫(kù)飛起
python里面requests.post返回的res.text還有其它的嗎
windows7環(huán)境下安裝配置jdk
python對(duì)微信操作要用到這兩個(gè)庫(kù)wxpy與itchat
8種Python字符串拼接的方法,你知道幾種
更多>>最新添加文章
dw里面查找替換使用正則刪除sqlserver里面的CONSTRAINT
Android移動(dòng)端自動(dòng)化測(cè)試:使用UIAutomatorViewer與Selenium定位元素
抖音直播音掛載小雪花 懂車帝小程序
javascript獲取瀏覽器指紋可以用來(lái)做投票
火狐Mozilla Firefox出現(xiàn):無(wú)法載入您的Firefox配置文件 它可能已經(jīng)丟失 或是無(wú)法訪問(wèn) 問(wèn)題解決集合處理辦法
在Android、iOS、Windows、MacOS中微信小程序的文件存放路徑
python通過(guò)代碼修改pip下載源讓下載庫(kù)飛起
python里面requests.post返回的res.text還有其它的嗎
更多>>隨機(jī)抽取信息
返回上一頁(yè)頁(yè)面特效
nyfreetour.com
深山行者留言系統(tǒng)V2.0 (簡(jiǎn)稱留言板V2.0)
asp正則表達(dá)式 替換HTML源文件里的鏈接地址
CSS教程:用dl dt dd來(lái)制作新聞文章列表
大紅袍形象設(shè)計(jì)暨旅游商品設(shè)計(jì)大賽在線投票評(píng)選
主站蜘蛛池模板: 伊人久久亚洲 | 亚洲精品在线网站 | 推荐黄色软件 | 91免费视频网站 | 可以免费看黄色的软件 | 色五月天天 | 欧美日韩一区二区三区在线 | 日日日操 | 一区二区三区免费电影 | 人人做人人看 | 美脚の诱脚舐め脚 | 午夜av一区二区 | 国产福利在线 | 日韩区欧美区 | 天天拍天天干 | www.欧美日韩 | 一区二区在线视频播放 | 亚洲精品视频在线免费播放 | 国产1区| 在线播放一区二区三区 | 一级做人爰片全过 | 91网站在线观看视频 | 91精品国产色综合久久不8 | 涩涩屋导航深夜福利 | 天天拍夜夜操 | 天天干天天草 | 国产一区二区三区在线 | 国产91久久精品一区二区 | theporn国产在线精品 | 亚洲成人在线观看视频 | 91精品国偷自产在线电影 | 91精品国产精品 | 日韩精品在线免费视频 | 国产欧美日韩高清 | 飘雪在线高清观看视频动漫 | 一区二区三区四区欧美 | 成人免费在线网站 | 特逼视频 | 天堂网视频在线观看 | 成人在线观看黄色 | 成人av一区二区免费播放 |