網(wǎng)站首頁 編程語言 正文
如果想讀取用 open() 函數(shù)打開的文件中的內(nèi)容,除了可以使用 read() 函數(shù),還可以使用 readline() 和 readlines() 函數(shù)。
和 read() 函數(shù)不同,這 2 個函數(shù)都以“行”作為讀取單位,即每次都讀取目標(biāo)文件中的一行。對于讀取以文本格式打開的文件,讀取一行很好理解;對于讀取以二進制格式打開的文件,它們會以“\n”作為讀取一行的標(biāo)志。
Python readline()函數(shù)
readline() 函數(shù)用于讀取文件中的一行,包含最后的換行符“\n”。此函數(shù)的基本語法格式為:
file.readline([size])
其中,file 為打開的文件對象;size 為可選參數(shù),用于指定讀取每一行時,一次最多讀取的字符(字節(jié))數(shù)。
和 read() 函數(shù)一樣,此函數(shù)成功讀取文件數(shù)據(jù)的前提是,使用 open() 函數(shù)指定打開文件的模式必須為可讀模式(包括 r、rb、r+、rb+ 4 種)。
仍以前面章節(jié)中創(chuàng)建的 my_file.txt 文件為例,該文件中有如下 2 行數(shù)據(jù):
Python教程
http://csdn.net/python/
下面程序演示了 readline() 函數(shù)的具體用法:
f =open("my_file.txt")
讀取一行數(shù)據(jù)
byt = f.readline()
print(byt)
程序執(zhí)行結(jié)果為:
Python教程
由于 readline() 函數(shù)在讀取文件中一行的內(nèi)容時,會讀取最后的換行符“\n”,再加上 print() 函數(shù)輸出內(nèi)容時默認(rèn)會換行,所以輸出結(jié)果中會看到多出了一個空行。
不僅如此,在逐行讀取時,還可以限制最多可以讀取的字符(字節(jié))數(shù),例如:
#以二進制形式打開指定文件
f =open("my_file.txt",'rb')
byt = f.readline(6)
print(byt)
運行結(jié)果為:
b'Python'
和上一個例子的輸出結(jié)果相比,由于這里沒有完整讀取一行的數(shù)據(jù),因此不會讀取到換行符。
Python readlines()函數(shù)
readlines() 函數(shù)用于讀取文件中的所有行,它和調(diào)用不指定 size 參數(shù)的 read() 函數(shù)類似,只不過該函數(shù)返回是一個字符串列表,其中每個元素為文件中的一行內(nèi)容。
和 readline() 函數(shù)一樣,readlines() 函數(shù)在讀取每一行時,會連同行尾的換行符一塊讀取。
readlines() 函數(shù)的基本語法格式如下:
file.readlines()
其中,file 為打開的文件對象。和 read()、readline() 函數(shù)一樣,它要求打開文件的模式必須為可讀模式(包括 r、rb、r+、rb+ 4 種)。
舉個例子:
f =open("my_file.txt",'rb')
byt = f.readlines()
print(byt)
運行結(jié)果為:
[b'Python\xbd\xcc\xb3\xcc\r\n', b'http://csdn.net/python/']
原文鏈接:https://blog.csdn.net/m0_74309242/article/details/129034762
相關(guān)推薦
- 2022-06-09 ASP.NET?Core中的環(huán)境配置_基礎(chǔ)應(yīng)用
- 2022-05-28 Entity?Framework?Core生成數(shù)據(jù)庫表_實用技巧
- 2022-06-02 jquery實現(xiàn)界面點擊按鈕彈出懸浮框_jquery
- 2022-03-14 JasperReport報表導(dǎo)出PDF中文不顯示的問題
- 2022-08-13 Android?Gradle同步優(yōu)化詳解_Android
- 2022-05-02 C++?多繼承詳情介紹_C 語言
- 2022-07-22 HttpClient如何自定義重試方法
- 2022-06-16 Go項目編寫Makefile規(guī)則文件概述_Golang
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支