基本上,我需要在python(和tk)中找到一行文本并复制它,以及它上面和下面的行。
Imported_File = a long list of strings.
One_Ring = the line I'm looking for.
在Imported_File中找到One_ring,复制One_ring,它上面和下面的行到Output_Var
我真的被困住了,任何帮助都会很棒。
答案 0 :(得分:0)
我认为你正在寻找确切的行
imported_file = ['a', 'b', 'c', 'd', 'e', 'f']
one_ring = 'd'
if one_ring in imported_file:
i = imported_file.index(one_ring)
start = i-1
end = i+2
# problem with first element before "a" when `one_ring = 'a'`
if start < 0:
start = 0
output_var = imported_file[start:end]
print(output_var)
else:
print('not found')
BTW:使用lower_case
名称进行变通:PEP 8 -- Style Guide for Python Code
答案 1 :(得分:0)
考虑到您正在读取具有这些长字符串列表的文件。
with open('textFile.txt') as f:
Imported_File = f.readlines()
One_Ring = "This is the line\n"
Output_Var = ""
if One_Ring in Imported_File:
idx = Imported_File.index(One_Ring)
Output_Var = Imported_File[max(0, idx - 1):idx+2]
print(Output_Var)
textFile.txt将是您的输入文件。我创建了一个类似于
的示例文件Hello there
How are you
This is the line
Done, Bye