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

Python中文件的讀取和寫(xiě)入操作

 更新時(shí)間:2018年04月27日 14:08:45   作者:愛(ài)上羊羊的小灰灰  
這篇文章主要介紹了Python中文件的讀取和寫(xiě)入操作,從文件中讀取數(shù)據(jù)的操作方法,本文通過(guò)實(shí)例文字相結(jié)合的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下

從文件中讀取數(shù)據(jù)

讀取整個(gè)文件

這里假設(shè)在當(dāng)前目錄下有一個(gè)文件名為'pi_digits.txt'的文本文件,里面的數(shù)據(jù)如下:

3.1415926535
8979323846
2643383279

with open('pi_digits.txt') as f: # 默認(rèn)模式為‘r',只讀模式
  contents = f.read() # 讀取文件全部?jī)?nèi)容
  print contents # 輸出時(shí)在最后會(huì)多出一行(read()函數(shù)到達(dá)文件末會(huì)返回一個(gè)空字符,顯示出空字符就是一個(gè)空行)
  print '------------'
  print contents.rstrip() # rstrip()函數(shù)用于刪除字符串末的空白

3.1415926535
8979323846
2643383279
------------
3.1415926535
8979323846
2643383279

逐行讀取

可以通過(guò)循環(huán)來(lái)實(shí)現(xiàn)逐行讀取數(shù)據(jù):

with open('pi_digits.txt') as f:
  for line1 in f:
    print line1 # 每行末尾會(huì)有一個(gè)換行符
  print '------------'
  for line2 in f:
    print line2.rstrip() # 此時(shí)文件已經(jīng)讀完,line2指向文本末尾,因此不會(huì)有輸出

3.1415926535

8979323846

2643383279

------------

讀取文件時(shí)相當(dāng)于有一個(gè)指針在記錄讀取的位置,數(shù)據(jù)讀到哪,這個(gè)指針就指到哪邊,繼續(xù)讀取數(shù)據(jù)時(shí)會(huì)從該位置繼續(xù)讀取,因此上面代碼中第二個(gè)循環(huán)中輸出為空。將上述代碼稍加修改如下:

with open('pi_digits.txt') as f:
  for line1 in f:
    print line1
  print '------------'
with open('pi_digits.txt') as f: # 需要重新打開(kāi)文本進(jìn)行讀取
  for line2 in f:
    print line2.rstrip() # 刪除字符串末尾的空白

3.1415926535

8979323846

2643383279

------------
3.1415926535
8979323846
2643383279

上述代碼相當(dāng)于第一次讀取完后關(guān)閉該文件又重新打開(kāi)進(jìn)行讀取。逐行讀取數(shù)據(jù)也可以用readline()函數(shù),如下:

with open('pi_digits.txt') as f: 
  # readline()每一次讀取一行數(shù)據(jù),并指向該行末尾
  line1 = f.readline() # 讀取第一行數(shù)據(jù)(此時(shí)已經(jīng)指向第一行末尾)
  line2 = f.readline() # 從上一次讀取末尾開(kāi)始讀取(第二行)
  print line1.rstrip()
  print line2.rstrip()

3.1415926535
8979323846

有時(shí)候我們想要一次性讀取全部數(shù)據(jù)并且按分開(kāi)存儲(chǔ)以便于后續(xù)的操作,當(dāng)然用上面的循環(huán)可以實(shí)現(xiàn),但python提供了更簡(jiǎn)單的方法readlines():

with open('pi_digits.txt') as f: 
  lines = f.readlines() # 讀取文本中所有內(nèi)容,并保存在一個(gè)列表中,列表中每一個(gè)元素對(duì)應(yīng)一行數(shù)據(jù)
print lines # 每一行數(shù)據(jù)都包含了換行符
print '------------'
for line in lines:
  print line.rstrip()  
print '------------'
pi_str = '' # 初始化為空字符
for line in lines:
  pi_str += line.rstrip() #字符串連接
print pi_str

['3.1415926535\n', '8979323846\n', '2643383279\n']
------------
3.1415926535
8979323846
2643383279
------------
3.141592653589793238462643383279

寫(xiě)數(shù)據(jù)到文件

寫(xiě)數(shù)據(jù)有幾種不同的模式,最常用的是w', ‘a(chǎn)', 分別表示擦除原有數(shù)據(jù)再寫(xiě)入和將數(shù)據(jù)寫(xiě)到原數(shù)據(jù)之后:

filename = 'write_data.txt'
with open(filename,'w') as f: # 如果filename不存在會(huì)自動(dòng)創(chuàng)建, 'w'表示寫(xiě)數(shù)據(jù),寫(xiě)之前會(huì)清空文件中的原有數(shù)據(jù)!
  f.write("I am Meringue.\n")
  f.write("I am now studying in NJTECH.\n")

此時(shí)會(huì)在當(dāng)前路徑下創(chuàng)建一個(gè)'write_data.txt'的文本文件,并向文件中寫(xiě)入數(shù)據(jù)如下:

I am Meringue.
I am now studying in NJTECH.

下面繼續(xù)在該文件中加入新數(shù)據(jù):

with open(filename,'a') as f: # 'a'表示append,即在原來(lái)文件內(nèi)容后繼續(xù)寫(xiě)數(shù)據(jù)(不清楚原有數(shù)據(jù))
  f.write("I major in Machine learning and Computer vision.\n")

此時(shí)的文件內(nèi)容為:

I am Meringue.
I am now studying in NJTECH.
I major in Machine learning and Computer vision.

總結(jié)

以上所述是小編給大家介紹的Python中文件的讀取和寫(xiě)入操作,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Python Selenium實(shí)現(xiàn)無(wú)可視化界面過(guò)程解析

    Python Selenium實(shí)現(xiàn)無(wú)可視化界面過(guò)程解析

    這篇文章主要介紹了Python Selenium實(shí)現(xiàn)無(wú)可視化界面過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Python繪制詞云圖之可視化神器pyecharts的方法

    Python繪制詞云圖之可視化神器pyecharts的方法

    這篇文章主要介紹了Python繪制詞云圖之可視化神器pyecharts,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • python中用cantools和can工具包解析blf文件的方法

    python中用cantools和can工具包解析blf文件的方法

    這篇文章主要給大家介紹了關(guān)于python中用cantools和can工具包解析blf文件的相關(guān)資料,blf數(shù)據(jù)不像mf4那樣自帶信號(hào)數(shù)據(jù)庫(kù),因?yàn)樗怯浫罩居玫?一般情況下要盡可能的小,需要的朋友可以參考下
    2023-09-09
  • Python基礎(chǔ)語(yǔ)法之容器詳解

    Python基礎(chǔ)語(yǔ)法之容器詳解

    這篇文章主要介紹了Python基礎(chǔ)語(yǔ)法之容器的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下,希望能夠給你帶來(lái)幫助
    2021-09-09
  • python自動(dòng)化之Ansible的安裝教程

    python自動(dòng)化之Ansible的安裝教程

    這篇文章主要介紹了python自動(dòng)化之Ansible的安裝方法,結(jié)合實(shí)例形式分析了自動(dòng)化運(yùn)維工具Ansible的安裝步驟及相關(guān)操作命令,需要的朋友可以參考下
    2019-06-06
  • python實(shí)現(xiàn)俄羅斯方塊游戲(改進(jìn)版)

    python實(shí)現(xiàn)俄羅斯方塊游戲(改進(jìn)版)

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)俄羅斯方塊游戲的改進(jìn)版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • Django實(shí)現(xiàn)支付寶付款和微信支付的示例代碼

    Django實(shí)現(xiàn)支付寶付款和微信支付的示例代碼

    支付寶支付和微信支付是當(dāng)今互聯(lián)網(wǎng)產(chǎn)品常用的功能,這篇文章主要介紹了Django實(shí)現(xiàn)支付寶付款和微信支付的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • 一篇文章看懂python如何執(zhí)行cmd命令

    一篇文章看懂python如何執(zhí)行cmd命令

    這篇文章主要給大家介紹了關(guān)于如何通過(guò)一篇文章看懂python如何執(zhí)行cmd命令的相關(guān)資料,在Python中可以使用多種方法執(zhí)行cmd命令,文中通過(guò)代碼示例將每種方法都介紹的非常詳細(xì),需要的朋友可以參考下
    2023-09-09
  • python使用正則表達(dá)式替換匹配成功的組并輸出替換的次數(shù)

    python使用正則表達(dá)式替換匹配成功的組并輸出替換的次數(shù)

    正則表達(dá)式是一個(gè)特殊的字符序列,它能幫助你方便的檢查一個(gè)字符串是否與某種模式匹配。這篇文章主要介紹了python使用正則表達(dá)式替換匹配成功的組并輸出替換的次數(shù),需要的朋友可以參考下
    2017-11-11
  • Python中的JMESPath庫(kù)示例詳解

    Python中的JMESPath庫(kù)示例詳解

    這篇文章主要介紹了Python中的JMESPath庫(kù)示例詳解,JMESPath的基本思想是使用類似于XPath的路徑表達(dá)式來(lái)指定要從JSON結(jié)構(gòu)中提取哪些數(shù)據(jù),它允許您以一致的方式導(dǎo)航和過(guò)濾JSON對(duì)象和數(shù)組,需要的朋友可以參考下
    2023-09-09

最新評(píng)論

海宁市| 利津县| 本溪市| 沂源县| 封丘县| 永德县| 阿坝县| 崇仁县| 安义县| 明水县| 分宜县| 天祝| 离岛区| 绥江县| 武宁县| 任丘市| 白河县| 平潭县| 乌苏市| 家居| 广安市| 昌黎县| 汝南县| 洛扎县| 青州市| 盈江县| 普兰店市| 藁城市| 义马市| 尤溪县| 武鸣县| 凤翔县| 霍州市| 盖州市| 衢州市| 石泉县| 肃宁县| 克什克腾旗| 渝中区| 迭部县| 延川县|