无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

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

分享到微博請遵守國家法律
上杭县| 罗甸县| 牙克石市| 连江县| 廉江市| 布尔津县| 甘德县| 石嘴山市| 博客| 桑日县| 卓尼县| 民勤县| 林芝县| 松潘县| 桂阳县| 清流县| 金湖县| 呼伦贝尔市| 延安市| 成都市| 全椒县| 侯马市| 镇远县| 清镇市| 龙海市| 东源县| 嘉善县| 图木舒克市| 乐昌市| 延吉市| 台南市| 大埔县| 宁城县| 长宁县| 柘城县| 横峰县| 区。| 惠东县| 积石山| 广宗县| 桃江县|