我有一个Python文件和一个文本文件,其中包含大约1000个名称。我使用
这样的文件在Python中打开了文件 names = open('names.txt', 'r')
文本文件的布局如下:
Jason
Drake
Larry
如何在屏幕上打印名称“ Drake”?
我知道以前已经回答过这个问题,但是由于解释已经深入,我无法理解。由于我是编程新手,请以一种易于理解的方式进行解释。
答案 0 :(得分:0)
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])
答案 1 :(得分:0)
with open('names.txt') as names:
names = names.read()
names = names.split()
print(names[1])
第一行在变量names
中打开文件
第二行将文件转换为文本。
第三行将文本分成一个列表,每行的内容是一个新元素。
第四行显示名称。
请注意,在Python中,第一个数字为0,因此,如果要访问列表中的名字,则为names[0]
。
答案 2 :(得分: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