python - Editing one line in text file -
i need edit function, have code user enter id number (same line number) , writing text file, instead of replacing entered line, clears whole file , saves edited entry. how change code changes entered line rather deleting data in file.
import time global idnum def number(): global idnum print() idnum = int(input("enter id number of want edit: ")) def edit(): number() num_lines = sum(1 line in open('surname')) print() if idnum> num_lines or idnum ==0 or idnum < 0: print("not valid") time.sleep(0.5) print("try again") print() time.sleep(0.2) again() else: print() file in ["gender"]: open(file) f: print(f.readlines()[idnum-1], end='') def editgender(): open("gender",'r') f: get_all=f.readlines() open("gender",'w') f: i,line in enumerate(get_all,1): ## starts numbering 1 (by default begins 0) if == idnum: gender = input("enter new gender: ") f.writelines(gender + "\n") print("edit saved") print()
your code should edited (at point fault occurs):
if == idnum: gender = input("enter new gender: ") get_all=f.readlines() get_all[i-1]=gender+"\n" f.write(''.join(get_all)) print("edit saved") print() hope helps! :)
Comments
Post a Comment