读取文件中的特定行

时间:2015-12-25 14:20:54

标签: python python-3.x file-io

无论这个任务看起来多么基本,我都在努力阅读Python中特定的文件行。

我正在创建一个用于读写文件的报价系统是关键部分。在代码中,需要读取的行需要对应于变量sound.mp3预定义的位置值。然后我希望将该行存储到变量中。

我正在努力寻找一种有效的方法,让您不必浏览整个文件。我已经尝试使用Position但仍然显示0.我已将部分代码包含在上下文中。

file.readline(Position)

3 个答案:

答案 0 :(得分:3)

如果您想要文件中的特定行,可以使用linecache模块的linecache.getline功能。

演示:

假设您的文件名为testfile.txt并且内容为

line1
line2
line3

然后你将使用

访问line2
>>> import linecache
>>> linecache.getline('testfile.txt', 2)
'line2\n'

答案 1 :(得分:0)

我确信有一种更好的方法,但是从我的头顶开始,这将使用一个迭代器,所以只读一行就会比上面的效率更高。

def read_line(path, line_number, encoding=None):
    with open(path, 'r', encoding=encoding) as f:
        for index, line in enumerate(f):
            if index == line_number:
                yield line.strip('\r\n')

注意,要打电话,你会这样做:     next(read_line(path,line_number))

答案 2 :(得分:-1)

像这样使用它。

Height = file.readlines()[position]

这将为您提供输入位置的行(从0开始)