Eliminar una fila de un archivo de texto con Python

Tengo un archivo donde cada línea comienza con un número. El usuario puede eliminar una fila escribiendo el número de la fila que el usuario desea eliminar.

El problema que tengo es configurar el modo para abrirlo. Cuando yo usoa+, el contenido original sigue ahí. Sin embargo, pegadas al final del archivo están las líneas que quiero mantener. Por otro lado, cuando usow+, se borra todo el archivo. Estoy seguro de que hay una mejor manera de abrirlo conw+ modo, borrando todo, y luego volviendo a abrirlo y agregando las líneas.

 def DeleteToDo(self):
    print "Which Item Do You Want To Delete?"
    DeleteItem = raw_input(">") #select a line number to delete
    print "Are You Sure You Want To Delete Number" + DeleteItem + "(y/n)"
    VerifyDelete = str.lower(raw_input(">"))
    if VerifyDelete == "y":
        FILE = open(ToDo.filename,"a+") #open the file (tried w+ as well, entire file is deleted)
        FileLines = FILE.readlines() #read and display the lines
        for line in FileLines:
            FILE.truncate()
            if line[0:1] != DeleteItem: #if the number (first character) of the current line doesn't equal the number to be deleted, re-write that line
                FILE.write(line)
    else:
        print "Nothing Deleted"

Esto es lo que puede parecer un archivo típico

1. info here
2. more stuff here
3. even more stuff here

Respuestas a la pregunta(5)

Su respuesta a la pregunta