[英]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.