我有一个文本文件,其中的以下数据逐行显示为:
TC1
通过
TC2
失败
TC3
通过
现在,我想读取文本文件并以以下方式导入我的tkinter网格:
行0列0列1
第1行Tc1通行证
第2行TC2失败
第3行TC3通行证
我有以下代码,只是尝试读取以T开头的单词并将其放置在网格中
以open(textfile)作为openfile:
for line in openfile:
for part in line.split():
i=0
if line.startswith('T'):
print line
i=i+1
Label(labelone,text=part,relief=RIDGE,width=16).grid(row=i,column=1)
当我在上面奔跑时,它给出为:
行0列0列1
第1排TC3
第2行
第3行
任何帮助将不胜感激。 谢谢
答案 0 :(得分:0)
这里有几件事要注意。
1)照顾.txt
文件中的空行。
2)进行迭代以使耦合结果像TC1 Pass
一样。
3)向后追加/插入配对对。
方法:
创建一个包含.txt
文件中所有数据的列表,然后进行迭代以获得配对的结果,以后可以将其插入到网格中。
logFile = "list.txt"
with open(logFile) as f:
content = f.readlines()
# you may also want to remove empty lines
content = [l.strip() for l in content if l.strip()]
# flag
nextLine = False
# list to save the lines
textList = []
for line in content:
find_TC = line.find('TC')
if find_TC > 0:
nextLine = not nextLine
else:
if nextLine:
pass
else:
textList.append(line)
print('\n')
print('Text list ..')
print(textList)
j = 0
for i in range(j, len(textList)):
if j < len(textList):
print(textList[j], textList[j + 1]) # Insert into the gird here instead of print
j = j + 2
输出:
文本列表..
['TC1','Pass','TC2','Fail','TC3','Pass']
TC1通行证
TC2失败
TC3通行证
编辑:
OP在文本文件中进行了新更改之后
j = 0
for i in range(j, len(textList)):
if j < len(textList):
print(textList[j], textList[j + 1], textList[j+2]) # Insert into the gird here instead of print
j = j + 3