2017-08-16 65 views
2

我想在一個名爲Student.txt的文件中分割一個studentID和studentName,這樣我可以有一個用戶輸入來搜索文件中的特定學生ID並顯示學生名稱和ID。但我不知道如何分開文件中的studentID和學生名稱。如何使用python中的學生姓名和學號來搜索帶有用戶輸入和輸出的學生ID?

這是我的文件

201707001 Michael_Tan 
201707002 Richard_Lee_Wai_Yong 
201707003 Jean_Yip 
201707004 Mark_Lee 
201707005 Linda_Wong 
201707006 Karen_Tan 
201707007 James_Bond 
201707008 Sandra_Smith 
201707009 Paul_Garcia 
201707010 Donald_Lim 

的內容和這是在Python我試圖代碼

# user can search the studentID 
searchStudent = input("Please enter a student ID: ") 

# read the students file 
with open('C:\\Users\\jaspe\\Desktop\\PADS Assignment\\Student.txt') as f: 
    studentFile = f.readlines() 
    for student in studentFile: 
     print(student) 
+0

感謝您的快速回復傢伙:) –

+0

得到它感謝,新的堆棧溢出。對不起, –

回答

1

您可以使用student.split(" ")每行分成ID和名稱

searchStudent = input("Please enter a student ID: ") 

with open('C:\\Users\\jaspe\\Desktop\\PADS Assignment\\Student.txt') as f: 
    studentFile = f.readlines() 
     for student in studentFile: 
      id, name = student.strip().split(" ", 1) 
+0

。.strip和.split()中的1是什麼意思? –

+0

它刪除每行的開頭和結尾的空格 – XPLOT1ON

+0

https://docs.python.org/2/library/string.html#string.strip https://docs.python.org/2/library/string的.html#string.split。在你的情況下,它會去掉每行左右的空白字符,然後在第一個找到的空格字符上拆分該行。 – BoboDarph

0

您需要使用空格作爲分隔符來分隔每一行:

for line in studentFile: 
    uid, student = line.strip().split(" ") 
    print(student) 
0

您需要解析每一行並檢查Ids是否匹配。換句話說,你需要將每一行分成兩個元素,id和name。 檢查split documentation頁面。

相關問題