最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

分享到微博請遵守國家法律
泾川县| 衡阳县| 女性| 永和县| 湖北省| 驻马店市| 名山县| 泰安市| 金平| 仙居县| 洛扎县| 阜阳市| 寿阳县| 吉安市| 区。| 剑河县| 浦北县| 南涧| 福泉市| 康平县| 延川县| 平泉县| 夹江县| 江城| 普格县| 万山特区| 台州市| 大宁县| 游戏| 台南市| 井陉县| 长兴县| 南投市| 福安市| 攀枝花市| 沙雅县| 清徐县| 融水| 军事| 连州市| 吕梁市|