五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【代碼世界 No.2】Python學習筆記 #2 - 讀取文本文件(.txt)的幾種方式

2021-01-12 22:56 作者:艾了哈  | 我要投稿

????????利用Python讀取文本格式文件(.txt)的時候,存在多種方式進行讀取,需要根據(jù)業(yè)務和數(shù)據(jù)特點來選擇。本篇對比幾種簡單常用的讀取方式。

數(shù)據(jù)文件

???? 要打開的文本文件名稱為 “?數(shù)據(jù)文本文件 ”,和 python文件 - readtxt.py?放置在同一個目錄下,文件中的內(nèi)容如下:


????比較方便的方式是直接打開文件,保存為一個對象,然后逐行讀取。

? ??其中,open()是打開要讀取的文件,r?表示只讀方式打開,encoding為編碼。

????這里用 with?的方法打開,不用再進行close()關(guān)閉文件的操作了,返回的fobj是一段數(shù)據(jù)對象,可以對其進行讀取等操作。

????對于

????????從結(jié)果發(fā)現(xiàn)每行下面多了一行空行,因為輸出時會自動添加一個換行符,解決辦法是對每一行消除右邊的換行符,即 改為print(line.rstrip())。


一、read、readlines和readline

這三個都是Python自帶的 I/O?接口。? ??

1)read()?可以直接讀取整個文件,返回的是字符串類型。

????2)readlines() 也是一次性讀取整個文件,并其保存為一個列表,其中的每一行就是列表中的一項。這種方法對于特別大型的文件缺點是會多占用一些內(nèi)存。

?????????因為是列表,如果知道要提取的行數(shù)的話,可以用 readlines()[10:50]讀取特定行數(shù)內(nèi)容(10-49行)。

????3) readline() 可逐行讀取文件,好處是內(nèi)存占用小,缺點是速度會慢(但是一般正常大小的文件感覺不出來區(qū)別),由于是逐行讀取,所以要想遍歷讀文件的話,需要用循環(huán)結(jié)構(gòu)語句來操作。


????????????上面這幾個方法中如果不需要隔一行顯示,可用rstrip()來去掉換行符。

二、linecache

????linecache()是Python自帶的一個模塊,使用前需要引用這個模塊,其中 getline("文件“ , 行數(shù)) 可以讀取特定行的數(shù)據(jù),需要注意的是從0開始計數(shù)的,因此 下方的 第四行,其實提取的是文件中第5行的數(shù)據(jù)。

提取第5行的數(shù)據(jù)
linecahe.getline結(jié)果


三、枚舉?enumerate

????????利用枚舉方式,可以逐行的獲取行號和內(nèi)容

部分讀取結(jié)果

????除了上面這幾種基本方式外,數(shù)據(jù)分析的時候還可以用pandas的模塊read_csv()讀取。

Tips:

打開文件時候的幾個常用標識符:

r :? ?讀取文件,文件不存在會報錯

w:? ?寫入文件,若文件不存在則會先創(chuàng)建再寫入,會覆蓋原文件

a :? ?寫入文件,若文件不存在則會先創(chuàng)建再寫入,不會覆蓋原文件,追加在文件末尾

rb,wb:? 用于讀寫二進制文件,例如圖像、音頻視頻等。


【代碼世界 No.2】Python學習筆記 #2 - 讀取文本文件(.txt)的幾種方式的評論 (共 條)

分享到微博請遵守國家法律
岚皋县| 自治县| 景泰县| 昭觉县| 怀柔区| 肇源县| 六盘水市| 惠来县| 宜丰县| 兴城市| SHOW| 昌宁县| 孟津县| 汾阳市| 贵定县| 庆云县| 屏东县| 湘潭县| 抚宁县| 古蔺县| 绥化市| 榆中县| 衢州市| 同德县| 亳州市| 芒康县| 呼玛县| 莱阳市| 安康市| 错那县| 铁岭县| 桃江县| 刚察县| 万荣县| 沂源县| 城口县| 米泉市| 临漳县| 桦甸市| 福清市| 永福县|