如何使用Python从文本文件中读取选定的行

How do I read selected lines from a text file with Python

本问题已经有最佳答案,请猛点这里访问。

使用python版本3

我正在使用代码:

1
2
f = open("cinema.txt","r")
print(f.read())

然后打开电影院文本文件。此文本文件包含50行,其中包含50个电影标题。

我想做的是能够阅读,例如第5行。我还希望能够阅读例如第15-20行。有人能告诉我需要在代码中添加什么额外的位吗?我在网上搜索过,但找不到有效的答案。


使用with open(),不要使用open(),这是最好的做法。

1
2
3
4
5
6
7
8
data = []
with open("cinema.txt","r") as f:
    data = f.readlines() # readlines() returns a list of items, each item is a line in your file

print(data[5]) # print line 5

for i in range(14, 19):
    print(data[i])


您可以尝试使用enumerate,然后检查行号:注意i从i开始,所以i == 4与第5行匹配。

1
2
3
4
5
6
with open('cinema.txt') as f:
    for i, line in enumerate(f):
        if i == 4:
            print(line.strip())
        if 14 < i < 19:
            print(line.strip())


您可以在列表中记录行并显示列表切片。

1
2
3
4
5
6
f = open("cinema.txt")
lines = f.readlines()
a = 15
b = 20
print("
"
.join(lines[a:b + 1]))

1
2
for i in range(a, b + 1):
    print('line №' + str(i) + ': ' + lines[i])