簡體   English   中英

Python 中 read()、readline() 和 readlines() 的區別

[英]Difference in read(), readline() and readlines() in Python

我正在查看Python的 web 標題中提到的命令及其區別; 但是,我對這些命令的完整基本了解並不滿意。

假設我的文件只有以下內容。

這是我第一次在這個網站上提出問題,如果有人澄清我對學習 Python 的疑問,我將不勝感激。 我感謝這個平台的 StackOverflow。

在命令read()readline()readlines()中,一個區別當然是讀取整個文件、單行或指定行。

但我不明白這些命令中括號()的使用/必要性。 例如, readline()readline(7)有什么區別? 如果參數 7 超過文件中的行數,那么 output 將是什么?


在上面提到的web上,解釋了read()中的參數是做什么的; 但是沒有提到readline()readlines()中的參數是做什么的?

read(n)
filevar.read()

讀取並返回包含n 個字符的字符串,或者如果未提供n ,則將整個文件作為單個字符串返回。

readline(n)
filevar.readline()

返回文件的下一行,其中包含換行符之前的所有文本。 如果n作為參數提供,則如果行長於 n,則僅返回n 個字符。

readlines(n)
filevar.readlines()

返回一個字符串列表,每個字符串代表文件的一行。 如果未提供n ,則返回文件的所有行。 如果提供了n ,則讀取n 個字符,但n會向上取整,以便返回整行。

有關詳細信息,您應該查閱庫文檔,而不是教程。

來自io文檔

readline(size=-1)

從 stream 中讀取並返回一行。 如果指定了size ,最多將讀取size個字節。

對於二進制文件,行終止符始終為b'\n' 對於文本文件, open()的換行參數可用於 select 識別的行終止符。


readlines(hint=-1)

從 stream 讀取並返回行列表。 可以指定hint來控制讀取的行數:如果到目前為止所有行的總大小(以字節/字符為單位)超過hint ,則不會再讀取行。

請注意,已經可以使用for line in file: ...迭代文件對象,而無需調用file.readlines()

因此, readline()讀取整行。 readline(7)最多讀取一行的 7 個字節。 readlines()將所有行作為列表讀取。 readlines(7)最多返回 7 行作為列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM