从文本文件中搜索ID

时间:2017-04-27 12:28:09

标签: python

我正在尝试从文本文件中搜索学生ID,并在找到ID时显示该行。

以下是代码:

sid = input ('\nPlease enter the student ID you want to search: ' )
        found = False 
        for line in student_file:
            line = line.rstrip() 
            if sid == line[0]:
                found = True
                print (line)
                print('\n')
        if found == False: 
            print ("No student record under this ID.")

文本文件包含学生ID,姓名和不同科目的标记

1235     abc     0.0      0.0      0.0     0.0     0.0            

1111     def     19.0     20.0     30.0    20.3    12.3  

1        ghi     100.0    100.0    100.0   100.0   100.0 

5        jkl     100.0    100.0    100.0   100.0   100.0        

如果

  • 输入sid = 1然后显示ID为1235,1111,1
  • 的学生的详细信息
  • 输入为1235,然后显示“此ID下没有学生记录”
  • 输入为5,然后显示ID = 5的学生详细信息

我要做的就是显示匹配Id的学生记录。我不知道哪里出错了。

1 个答案:

答案 0 :(得分:0)

而不是使用line[0]这是你需要检查第一个单词的第一个字符。这是因为sid可以是多个字符。

您可以通过在第一个空格处分割字符串,然后使用[0]选择第一个字段来完成此操作;

if (line.split(" ")[0] == sid):

或者,您可以这样做;

if (sid in line.split(" ")):