<p>我需要一个编辑功能,目前我有代码为用户输入一个身份证号码(行号相同),然后写入到特定的文本文件,但不是取代输入的行,它会清除整个文件,只保存编辑的条目。如何更改代码,使其只更改输入的行,而不删除文件中的所有数据。你知道吗</p>
<pre><code>import time
global idnum
def number():
global idnum
print()
idnum = int(input("Enter the id number of who you want to edit: "))
def edit():
number()
num_lines = sum(1 for 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()
for file in ["Gender"]:
with open(file) as f:
print(f.readlines()[idnum-1], end='')
def editgender():
with open("Gender",'r') as f:
get_all=f.readlines()
with open("Gender",'w') as f:
for i,line in enumerate(get_all,1): ## STARTS THE NUMBERING FROM 1 (by default it begins with 0)
if i == idnum:
Gender = input("Enter new gender: ")
f.writelines(Gender + "\n")
print("Edit saved")
print()
</code></pre>