国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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)的幾種方式的評論 (共 條)

分享到微博請遵守國家法律
民乐县| 新乡市| 临沂市| 天长市| 云和县| 五台县| 屏山县| 禄劝| 永定县| 长岭县| 高安市| 桂阳县| 贵州省| 麦盖提县| 柳河县| 庆阳市| 金湖县| 祁阳县| 波密县| 彰武县| 遵义县| 宁乡县| 沙田区| 监利县| 织金县| 思茅市| 江西省| 华阴市| 延边| 宁蒗| 杭州市| 大渡口区| 交口县| 广水市| 奇台县| 杭锦后旗| 巨野县| 安图县| 深泽县| 泗洪县| 光山县|