python阅读文件

时间:2012-03-04 07:40:29

标签: python file

我需要从我传入我编写的python程序的文件中获取特定的行号。我知道我想要的行将是第5行,所以有没有办法可以抓住第5行,而不必遍历文件?

3 个答案:

答案 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行。