最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python文件打開(kāi)讀取寫(xiě)入方法實(shí)用案例

 更新時(shí)間:2023年05月05日 11:33:48   作者:山山而川'  
我們?cè)诠ぷ髦薪?jīng)常需要用python對(duì)文本文件進(jìn)行內(nèi)容的讀取和寫(xiě)入,下面這篇文章主要給大家介紹了關(guān)于Python文件打開(kāi)讀取寫(xiě)入方法的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

讀寫(xiě)文件是最常見(jiàn)的IO操作。Python內(nèi)置了讀寫(xiě)文件的函數(shù),用法和C是兼容的。

讀寫(xiě)文件前,我們先必須了解一下,在磁盤(pán)上讀寫(xiě)文件的功能都是由操作系統(tǒng)提供的,現(xiàn)代操作系統(tǒng)不允許普通的程序直接操作磁盤(pán),所以,讀寫(xiě)文件就是請(qǐng)求操作系統(tǒng)打開(kāi)一個(gè)文件對(duì)象(通常稱(chēng)為文件描述符),然后,通過(guò)操作系統(tǒng)提供的接口從這個(gè)文件對(duì)象中讀取數(shù)據(jù)(讀文件),或者把數(shù)據(jù)寫(xiě)入這個(gè)文件對(duì)象(寫(xiě)文件)。

python中對(duì)文件的操作方法經(jīng)常使用open和with open。下面分別介紹

open()方法

正常情況下,想要打開(kāi)一個(gè)文件并且保證該文件會(huì)被關(guān)閉。使用open()方法,最后一定要保證關(guān)閉文件對(duì)象,即調(diào)用close()方法。原因是當(dāng)我們寫(xiě)文件時(shí),操作系統(tǒng)往往不會(huì)立刻把數(shù)據(jù)寫(xiě)入磁盤(pán),而是放到內(nèi)存緩存起來(lái),空閑的時(shí)候再慢慢寫(xiě)入。只有調(diào)用close()方法時(shí),操作系統(tǒng)才保證把沒(méi)有寫(xiě)入的數(shù)據(jù)全部寫(xiě)入磁盤(pán)同時(shí)釋放資源。忘記調(diào)用close()的后果是數(shù)據(jù)可能只寫(xiě)了一部分到磁盤(pán),剩下的丟失了。語(yǔ)法格式如下

文件對(duì)象f = open(文件名,文件對(duì)象訪問(wèn)模式)

其中的文件對(duì)象訪問(wèn)模式如下

1. "w",打開(kāi)一個(gè)新的文件并寫(xiě)入內(nèi)容

這里對(duì)象訪問(wèn)模式使用"w",打開(kāi)文件時(shí),文件存在則清空內(nèi)容,不存在則創(chuàng)建新的

f = open('1.txt','w')
f.write('今天一直在下雨\n')
f.write('把我整抑郁了\n')
f.write('o(╥﹏╥)o\n')
f.close()

2. "r",打開(kāi)文件并讀取內(nèi)容

f = open("1.txt",'r')
print(f.read())        #讀取全部?jī)?nèi)容
f.close()
f = open("1.txt",'r')   
print(f.readline())    #一個(gè)f.readline()只讀第一行
f.close()
f = open("1.txt",'r')   #全部讀,但是用列表的方式展示
print(f.readlines())
f.close()

3. "a",以追加內(nèi)容的模式打開(kāi)

上面使用"w"的時(shí)候文件存在則會(huì)清除內(nèi)容,如果我們想要打開(kāi)一個(gè)已經(jīng)存在內(nèi)容的文件并追加內(nèi)容則可以使用"a"。如下打開(kāi)存在的"1.txt"文件,并追加一行內(nèi)容

f = open('1.txt','a')
f.write("帥哥出來(lái)玩嗎")
f.close()

4. 創(chuàng)建一個(gè)空的文件

open("12.txt",'w').close()

with open()方法

open()使用后需要調(diào)用f.close()方法,但是每次都這么寫(xiě)實(shí)在太繁瑣,所以,Python引入了with語(yǔ)句來(lái)自動(dòng)幫我們調(diào)用close()方法。推薦使用with open()

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

1. 打開(kāi)并讀取文件,每次讀取一行內(nèi)容

方法一:

with open('1.txt','r') as file:    
    for line in file:     #依次遍歷
        #print(line)      #默認(rèn)輸出的內(nèi)容會(huì)多一個(gè)換行
        print(line[:-1]) 

將網(wǎng)頁(yè)的數(shù)據(jù)進(jìn)行保存時(shí)有時(shí)需要指定編碼類(lèi)型,比如為utf-8。不確定可以查看網(wǎng)頁(yè)源碼的編碼類(lèi)型,這里保存和網(wǎng)頁(yè)編碼類(lèi)型一樣就行

with open('./2.html','w',encoding='utf-8') as f:

方法二:

直接使用循環(huán)也可以

for line in open("1.txt",'r'): print(line[:-1])

2. 打開(kāi)并寫(xiě)入文件

with open('2.txt','a') as file:
    file.write("hello\n")
    file.write("are you ok?\n")

實(shí)用案例

需求

打開(kāi)文件1.txt,1.txt的內(nèi)容為一行行的ip地址。每次從里面讀取一行數(shù)據(jù)加上"http://",然后將其保存到另外一個(gè)新的文件中

for ip in open("1.txt",'r'):
    url = "http://" + ip
    with open("url.txt",'a',,encoding="utf-8") as f: #這里必須以追加的模式打開(kāi),不然每次新增內(nèi)容前都會(huì)清空
        f.write(url)
print('ok')

總結(jié) 

到此這篇關(guān)于Python文件打開(kāi)讀取寫(xiě)入方法的文章就介紹到這了,更多相關(guān)Python文件打開(kāi)讀取寫(xiě)入內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python opencv畫(huà)局部放大圖實(shí)例教程

    python opencv畫(huà)局部放大圖實(shí)例教程

    這篇文章主要給大家介紹了關(guān)于python opencv畫(huà)局部放大圖的相關(guān)資料,獲取鼠標(biāo)的單擊相應(yīng)以及鼠標(biāo)的移動(dòng)信息,進(jìn)行放大功能的實(shí)現(xiàn),需要的朋友可以參考下
    2021-10-10
  • keras model.fit 解決validation_spilt=num 的問(wèn)題

    keras model.fit 解決validation_spilt=num 的問(wèn)題

    這篇文章主要介紹了keras model.fit 解決validation_spilt=num 的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • 使用Python holidays庫(kù)獲取中國(guó)節(jié)日的代碼示例

    使用Python holidays庫(kù)獲取中國(guó)節(jié)日的代碼示例

    在軟件開(kāi)發(fā)中,處理節(jié)假日信息是一個(gè)常見(jiàn)需求,尤其是在進(jìn)行日期計(jì)算、日程安排和自動(dòng)化工作流時(shí),Python 提供了一個(gè)名為??holidays??的庫(kù),它能夠輕松獲取節(jié)假日信息,本文將重點(diǎn)介紹如何使用??holidays??庫(kù)獲取中國(guó)的節(jié)日,并提供詳細(xì)的代碼示例和應(yīng)用場(chǎng)景
    2024-07-07
  • python數(shù)學(xué)建模是加深Numpy和Pandas學(xué)習(xí)

    python數(shù)學(xué)建模是加深Numpy和Pandas學(xué)習(xí)

    這篇文章主要介紹了python數(shù)學(xué)建模是加深Numpy和Pandas學(xué)習(xí),緊接上一篇學(xué)習(xí)內(nèi)容展開(kāi)Numpy更多相關(guān)內(nèi)容,需要的小伙伴可以參考一下
    2022-07-07
  • Python中的@cache巧妙用法

    Python中的@cache巧妙用法

    緩存是一種空間換時(shí)間的策略,緩存的設(shè)置可以提高計(jì)算機(jī)系統(tǒng)的性能,這篇文章主要介紹了Python中的@cache巧妙用法,需要的朋友可以參考下
    2023-04-04
  • python計(jì)算機(jī)視覺(jué)opencv圖像金字塔輪廓及模板匹配

    python計(jì)算機(jī)視覺(jué)opencv圖像金字塔輪廓及模板匹配

    這篇文章主要為大家介紹了python計(jì)算機(jī)視覺(jué)opencv圖像金字塔圖像輪廓及模板匹配的學(xué)習(xí)講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-11-11
  • Python編程super應(yīng)用場(chǎng)景及示例解析

    Python編程super應(yīng)用場(chǎng)景及示例解析

    最近有粉絲向我咨詢(xún)super相關(guān)的問(wèn)題,說(shuō)網(wǎng)上搜索到的教程不夠通俗易懂,看了之后還是不太理解。所以在這里基于我自己的理解來(lái)講解一下super
    2021-10-10
  • 利用Python統(tǒng)計(jì)每天敲了多少次鍵盤(pán)

    利用Python統(tǒng)計(jì)每天敲了多少次鍵盤(pán)

    每到年末各大App都會(huì)給你來(lái)一次年度總結(jié),最近突發(fā)奇想,鍵盤(pán)是每天必備的工具,為啥不給鍵盤(pán)也來(lái)個(gè)工作總結(jié),本文就來(lái)用Python統(tǒng)計(jì)一下每天敲了多少次鍵盤(pán)吧
    2024-04-04
  • Python使用正則表達(dá)式過(guò)濾或替換HTML標(biāo)簽的方法詳解

    Python使用正則表達(dá)式過(guò)濾或替換HTML標(biāo)簽的方法詳解

    這篇文章主要介紹了Python使用正則表達(dá)式過(guò)濾或替換HTML標(biāo)簽的方法,簡(jiǎn)單介紹了Python正則相關(guān)語(yǔ)法并結(jié)合具體實(shí)例形式分析了Python基于正則表達(dá)式的HTML標(biāo)簽過(guò)濾與替換相關(guān)操作技巧,需要的朋友可以參考下
    2017-09-09
  • Python使用asyncio包實(shí)現(xiàn)異步編程方式

    Python使用asyncio包實(shí)現(xiàn)異步編程方式

    這篇文章主要介紹了Python使用asyncio包實(shí)現(xiàn)異步編程方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06

最新評(píng)論

乐陵市| 鄂尔多斯市| 葵青区| 宣武区| 郑州市| 昌宁县| 永定县| 鄂伦春自治旗| 盐边县| 石台县| 纳雍县| 民权县| 临湘市| 峨眉山市| 大英县| 仁布县| 龙泉市| 威信县| 班玛县| 盐山县| 华安县| 荣昌县| 泰宁县| 庆元县| 乌兰察布市| 澄迈县| 香格里拉县| 耿马| 满洲里市| 无棣县| 富顺县| 天长市| 原阳县| 渑池县| 红桥区| 九台市| 驻马店市| 梓潼县| 明星| 西充县| 台中市|