編集機能が必要ですが、入力された行を置き換えるのではなく、特定のテキストファイルに書き込むためのID番号(行番号と同じ)を入力するコードがあります。ファイル全体を消去し、編集したエントリのみを保存します。ファイル内のすべてのデータを削除するのではなく、入力した行だけを変更するようにコードを変更するにはどうすればよいでしょうか。テキストファイルの1行を編集する
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()
ちょうど私が読んでいるので、あなたの質問に '(...、start = 1)'と書くと列挙型行に大量のコメントを入れて '(...、1)オープン](https://docs.python.org/3/library/functions.html#open)esp。 '+'は長い道のりになるはずのモード... – Dilettant