Python - 在二进制文件中读取和写入对象

时间:2017-11-18 13:30:18

标签: python file class

我正在创建一个管理病人档案的程序;它是项目的一部分。我创建了一个日志文件。我把患者的信息作为文件中的实例进行了腌制。在下面的代码中,我尝试遍历文件并接收满足给定条件的患者实例:

def searchpatientnumber():

    patobj=open("G:\patientregister.log", "ab+")
    test=patient() #the patient class
    patientid=raw_input("Enter patient register number:")
    import pickle
    test=pickle.load(patobj)
    try:
        while True: #I hoped that this loop will help read the whole file
            if test.registerno==patientid: #registerno is a datamember
            test.displaynumber() #member function
            break
        else:
            print "Patient not registered, try again."
            break
    except EOFError:
        patobj.close()

代码有效,但是,它只能读取文件中的第一个实例,但无法读取其余部分。我可以请一种方法来遍历二进制文件的所有实例吗? 谢谢。

0 个答案:

没有答案