Вы можете сделать это двумя способами, выберите то, что подходит вашему требованию:
Метод I.) Замена с использованием номера строки. Вы можете использовать встроенную функцию enumerate()
в этом случае:
Сначала в режиме чтения все данные в переменной
with open("your_file.txt",'r') as f:
get_all=f.readlines()
Во-вторых, напишите в файл (где enumerate)
with open("your_file.txt",'w') as f:
for i,line in enumerate(get_all,1): ## STARTS THE NUMBERING FROM 1 (by default it begins with 0)
if i == 2: ## OVERWRITES line:2
f.writelines("Mage\n")
else:
f.writelines(line)
Метод II.) Используя ключевое слово, которое вы хотите заменить:
Откройте файл в режиме чтения и скопируйте содержимое к списку
with open("some_file.txt","r") as f:
newline=[]
for word in f.readlines():
newline.append(word.replace("Warrior","Mage")) ## Replace the keyword while you copy.
«Воин» заменен на «Маг», поэтому напишите обновленные данные в файл:
with open("some_file.txt","w") as f:
for line in newline:
f.writelines(line)
Это то, что будет на выходе в обоих случаях:
Dan Dan
Warrior ------> Mage
500 500
1 1
0 0