我需要从我传入我编写的python程序的文件中获取特定的行号。我知道我想要的行将是第5行,所以有没有办法可以抓住第5行,而不必遍历文件?
答案 0 :(得分:3)
如果您知道在您感兴趣的行之前有多少字节,那么您可以seek
到那一点并读出一行。否则,"线"不是一流的构造(它只是一个字符列表,它由一个你赋予特殊含义的字符终止 - 换行符)。要查找这些换行符,您必须阅读该文件。
实际上,您可以使用readline
方法读取5行,然后读取您的行。
你为什么要这样做?
答案 1 :(得分:3)
您可以使用linecache
import linecache
get = linecache.getline
print(get(path_of_file, number_of_line))
答案 2 :(得分:0)
我认为应该遵循:
line_number=4
# Avoid reading the whole file
f = open('path/to/my/file','r')
count=1
for i in f.readline():
if count==line_number:
print i
break
count+=1
# By reading the whole file
f = open('path/to/my/file','r')
lines = f.read().splitlines()
print lines[line_number-1] # Index starts from 0
这应该会给你文件中的第4行。