删除文件的特​​定行

时间:2017-01-16 13:54:35

标签: python python-2.7 text

假设我们有一个系统可以记录信息并通过ID

删除它们

假设信息存储在文件txt中存储。 ====
将每个人与其他人分开 假设我们有一个单独的ID并想删除它,我编写了以下代码但不起作用:

class Register():
def __init__(self):
    self.DB = open('student.txt','a+')

def addstu(self,s):
    form = str(s.id) + "\n"
    form += s.name + "\n"
    form += s.family + "\n"
    form += str(s.term) + "\n"
    form += s.major + "\n"
    form +=s.avg+"\n"
    form += "=" * 5+"\n"
    self.DB.write(form)
    self.DB.close()


def delstu(self,id):
    d=[]
    y=0
    f=self.DB.readlines()
    for line in f :
        if id in line:
            break
        y +=1
    for i in range (y,y+6):
       d += self.DB.readline(i)
    self.DB.close()
    u=open('student.txt','w')
    for w in d:
          print u.write(w)

    u.close()

变量y是导致查找的行,然后必须删除6行。

中的六行

d把它,然后使用数组d删除原始文件的行

当程序运行时,所有数据都无法删除

不幸的是,我的母语不是英语。我希望我的写作是正确的

0 个答案:

没有答案