无论这个任务看起来多么基本,我都在努力阅读Python中特定的文件行。
我正在创建一个用于读写文件的报价系统是关键部分。在代码中,需要读取的行需要对应于变量sound.mp3
预定义的位置值。然后我希望将该行存储到变量中。
我正在努力寻找一种有效的方法,让您不必浏览整个文件。我已经尝试使用Position
但仍然显示0.我已将部分代码包含在上下文中。
file.readline(Position)
答案 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开始)