【发布时间】:2016-02-06 23:54:04
【问题描述】:
我对 python 还很陌生。我一直在做一个我最近一直在努力的项目,如果我能得到一些帮助,我会很高兴。
我正在执行一个程序,该程序将从用户那里获取输入,并查看是否在文件中看到输入。输入是名称标签,例如用户必须输入一个独特的代码,如“t56700”,然后程序将查看该代码是否在文件中。但是,随着代码附带其他信息。
我需要做的是接受用户输入,如果它有效,我需要跳转到该输入在文件中的位置并打印代码(名称标签)以及所有信息它。
文件如下所示:
姓名标签,x,x,x
姓名标签,x,x,x
姓名标签,x,x,x
^ 这几行
到目前为止,这是我的代码,我试图找到用户输入在文件上的显示位置,并连同它一起打印信息。
file = open("filetest.txt","r").readlines()
nametag = input ("What is your name tag?")
if nametag in open('filetest.txt').read():
with open('filetest.txt', 'r') as searchfile:
for line in searchfile:
if nametag in line:
print ("nametag: " + nametag)
print ("xxxx ", line[2])
print("xxxx:",line[3])
print("xxxx:",line[1])
print("xxxx:",line[4])
break
例如,方括号中的数字(例如“line[2]”)仅将我带到文件的开头,而不是我想要读取文件的位置。
【问题讨论】:
-
我建议,在您的循环中,您执行
line.split(',')以获取看起来像['nametag', 'x', 'x', 'x']的每一行的数组,然后在您的 if 中检查nametag == line[0](或不管你怎么称呼数组)。目前line[2]将是该行的第三个字符,而不是第二个“项目”。 -
非常感谢兄弟,真的很有帮助!