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