簡體   English   中英

如何在Python中從文本文件讀取特定行

[英]How to read a certain line from a text file in Python

我有一個Python文件和一個文本文件,其中包含大約1000個名稱。 我像這樣用Python打開了這個文件

names = open('names.txt', 'r')

文本文件的布局如下:

Jason
Drake
Larry

如何在屏幕上打印名稱“ Drake”?

我知道這個問題以前已經回答過,但是由於這些解釋已經深入,我無法理解。 由於我是編程新手,請以一種易於理解的方式進行說明。

names = open('names.txt', 'r')       # open the text file
namesList = names.read().split('\n') # read the entire file and split into a list
print(namesList[1])                  # print the element at index 1
names.close()                        # close the text file

輸出:

如果您只回答一行,因為您將只讀一個名字:

print(open('names.txt', 'r').read().split('\n')[1])

如果您一遍又一遍地做,那可能是一件昂貴的事情。

在任何一種情況下,如果您使用的是CPython,則垃圾收集器將負責關閉文件。 如果您使用的是一些其它的實現和你不知道這一點,你可以使用with

with open('names.txt', 'r') as names:
    namesList = names.read().split('\n')
    print(namesList[1])
with open('names.txt') as names:
    names = names.read()
    names = names.split()
    print(names[1])

第一行以變量names打開文件

第二行將文件轉換為文本。

第三行將文本分成一個列表,每行的內容是一個新元素。

第四行顯示名稱。 請注意,在Python中,第一個數字為0,因此,如果要訪問列表中的第一個名稱,它將為names[0]

只需專門尋找Drake並打印出來即可:

to_find = 'Drake'

with open('names.txt') as file:
    for line in map(str.strip, file):
        if line == to_find:
            print(line)

哪些輸出:

Drake

暫無
暫無

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

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