国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python中文件的讀取和寫入操作

2020-02-22 23:53:07
字體:
供稿:網(wǎng)友

從文件中讀取數(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() # 讀取文件全部內(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

逐行讀取

可以通過循環(huán)來實(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: # 需要重新打開文本進(jìn)行讀取  for line2 in f:    print line2.rstrip() # 刪除字符串末尾的空白

3.1415926535

8979323846

2643383279

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

上述代碼相當(dāng)于第一次讀取完后關(guān)閉該文件又重新打開進(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() # 從上一次讀取末尾開始讀取(第二行)  print line1.rstrip()  print line2.rstrip()

3.1415926535
8979323846

有時(shí)候我們想要一次性讀取全部數(shù)據(jù)并且按分開存儲(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            
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 凉城县| 漳州市| 垣曲县| 呼和浩特市| 策勒县| 阳城县| 鄱阳县| 长治县| 葵青区| 于田县| 彭水| 达孜县| 常州市| 嘉兴市| 沙洋县| 荥经县| 高要市| 新龙县| 遵义市| 成都市| 浮山县| 灵武市| 西华县| 朔州市| 电白县| 高邑县| 云阳县| 油尖旺区| 金溪县| 顺昌县| 乐至县| 九龙县| 视频| 紫阳县| 榆树市| 乌鲁木齐县| 车险| 海伦市| 汾阳市| 东至县| 仁化县|