App下載

怎么用 Python 打開文件?——如何逐行讀取文本文件

Jessica Wilkins 2021-09-14 10:20:27 瀏覽數(shù) (7770)
反饋

在 Python 中,有幾種方法可以讀取文本文件。在本文中,我將介紹open()函數(shù)、read()、readline()、readlines()、close()方法和with關(guān)鍵字。

Python 中的 open() 函數(shù)是什么?

如果要在 Python 中讀取文本文件,首先必須打開它。

這是 Python 的 open()函數(shù)的基本語法:

open("name of file you want opened", "optional mode")

文件名和正確路徑

如果文本文件和您當(dāng)前的文件在同一目錄(文件夾)中,那么您只需在open()函數(shù)中引用文件名即可。

open("demo.txt")

以下是兩個文件位于同一目錄中的示例:

如果您的文本文件位于不同的目錄中,則您需要引用文本文件的正確路徑名。

在此示例中,random-text文件位于不同的文件夾中,然后main.py:

為了在?main.py?中訪問該文件,您必須在文件名中包含文件夾名稱。

open("text-files/random-text.txt")

如果您沒有正確的文件路徑,那么您將收到如下錯誤消息:

open("random-text.txt")

跟蹤您所在的目錄非常重要,以便您可以引用正確的路徑名。

可選模式參數(shù) open()

處理文件時有不同的模式。默認模式是讀取模式。

該字母r代表閱讀模式。

open("demo.txt", mode="r")

您也可以省略mode=并只寫"r".

open("demo.txt", "r")

還有其他類型的模式,例如"w"用于寫入或"a"用于附加。我不會詳細介紹其他模式,因為我們只會專注于讀取文件。

open()Python 中函數(shù)的附加參數(shù)

該open()函數(shù)可以接受這些可選參數(shù)。

  • buffering
  • encoding
  • errors
  • newline
  • closefd
  • opener

Python 中的 readable() 方法是什么?

如果要檢查文件是否可以讀取,則可以使用該readable()方法。這將返回一個True或False。

此示例將返回True,因為我們處于讀取模式:

file = open("demo.txt")
print(file.readable())

如果我將此示例更改為"w"(寫入)模式,則該readable()方法將返回False:

file = open("demo.txt", "w")
print(file.readable())

Python 中的 read() 方法是什么?

該read()方法將讀取文件的所有內(nèi)容作為一個字符串。如果文本文件中的內(nèi)容不多,這是一個很好的方法。

在此示例中,我使用該read()方法從demo.txt文件中打印出名稱列表:

file = open("demo.txt")
print(file.read())

此方法可以接收一個名為 size 的可選參數(shù)。不是讀取整個文件,而是只讀取其中的一部分。

如果我們修改前面的例子,我們可以通過添加數(shù)字 4 作為read() 的參數(shù),只打印出第一個單詞。

file = open("demo.txt")
print(file.read(4))

如果省略 size 參數(shù),或者數(shù)字為負數(shù),則將讀取整個文件。

Python 中的 close() 方法是什么?

完成讀取文件后,關(guān)閉它很重要。如果您忘記關(guān)閉文件,則可能會導(dǎo)致問題。

這是如何關(guān)閉demo.txt文件的示例:

file = open("demo.txt")
print(file.read())
file.close()

withPython中如何使用關(guān)鍵字關(guān)閉文件

確保文件關(guān)閉的一種方法是使用with關(guān)鍵字。這被認為是一種很好的做法,因為文件會自動關(guān)閉,而您不必手動關(guān)閉它。

以下是如何使用with關(guān)鍵字重寫我們的示例:

with open("demo.txt") as file:
    print(file.read())

Python 中的 readline() 方法是什么?

此方法將從文件中讀取一行并返回。

在這個例子中,我們有一個包含這兩個句子的文本文件:

This is the first line
This is the second line

如果我們使用該readline()方法,它只會打印文件的第一句話。

with open("demo.txt") as file:
    print(file.readline())

此方法還接受可選的 size 參數(shù)。我們可以修改示例以添加數(shù)字 7 以僅讀取和打印輸出This is:

with open("demo.txt") as file:
    print(file.readline(7))

Python 中的 readlines() 方法是什么?

此方法將讀取并返回文件中所有行的列表。

在此示例中,我們將使用readlines()方法將雜貨項目打印為列表。

with open("demo.txt") as file:
    print(file.readlines())

如何使用 for 循環(huán)從 Python 中的文件中讀取行

這些不同讀取方法的替代方法是使用for loop.

在這個例子中,我們可以demo.txt通過循環(huán)對象來打印出文件中的所有項目。

with open("demo.txt") as file:
    for item in file:
        print(item)

結(jié)論

如果要在 Python 中讀取文本文件,首先必須打開它。

open("name of file you want opened", "optional mode")

如果文本文件和您當(dāng)前的文件在同一目錄(文件夾)中,那么您只需在open()函數(shù)中引用文件名即可。

如果您的文本文件位于不同的目錄中,則您需要引用文本文件的正確路徑名。

該open()函數(shù)接受可選的模式參數(shù)。默認模式是讀取模式。

open("demo.txt", "r")

如果要檢查文件是否可以讀取,則可以使用該readable()方法。這將返回一個True或False。

file.readable()

該read()方法將讀取文件的所有內(nèi)容作為一個字符串。

file.read()

完成讀取文件后,關(guān)閉它很重要。如果您忘記關(guān)閉文件,則可能會導(dǎo)致問題。

file.close()

確保文件關(guān)閉的一種方法是使用with關(guān)鍵字。

with open("demo.txt") as file:
    print(file.read())

該readline()方法將從文件中讀取一行并返回。

file.readline()

該readlines()方法將讀取并返回文件中所有行的列表。

file.readlines()

這些不同讀取方法的替代方法是使用for loop.

with open("demo.txt") as file:
    for item in file:
        print(item)



3 人點贊