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

Popular posts from this blog

PHP and MySQL WP -

android - InAppBilling registering BroadcastReceiver in AndroidManifest -

go - golang pprof for c library code -