我无法将此代码段转换为只读取文件的第一行,而不是随机打开它。
有人可以帮忙吗?
lines = open('myfile.txt').read().splitlines()
account =random.choice(lines)
答案 0 :(得分:3)
如果你只想要第一行,那么只读第一行。
with open('myfile.txt') as f:
line = f.readline()
在上方,f.readline()
读取直到换行符或EOF。
答案 1 :(得分:2)
您可以利用文件对象本身可迭代的事实:
>>> with open('multiline.txt') as file:
... line1 = next(file)
>>> line1
'this is line 1\n'
通过将整个文件读入列表,这不会浪费内存。
然而,我说@Chepner的答案是"规定"这样做的方式。
答案 2 :(得分:0)
从代码开始,您只需将第二行更改为
即可first_line = lines[0]
你已经完成了。