Вот мой код о том, как редактировать текстовый файл.
Поскольку python не может просто редактировать строку и сохранять ее одновременно,
Я сохраняю предыдущий текстовый файлсначала в список содержимого, а затем запишите его.
Например, если в одной папке есть два текстовых файла с именами sample1.txt и sample2.txt .
Sample1.txt
A для яблока.
Вторая строка.
Третья строка.
Sample2.txt
Первая строка.
Яблоко в день.
Третья строка.
Выполнить Python
import glob
import os
#search all text files which are in the same folder with python script
path = os.path.dirname(os.path.abspath(__file__))
txtlist = glob.glob(path + '\*.txt')
for file in txtlist:
fp1 = open(file, 'r+')
strings = [] #create a list to store the content
for line in fp1:
if 'apple' in line:
strings.append('banana\n') #change the content and store into list
else:
strings.append(line) #store the contents did not be changed
fp2 = open (file, 'w+') # rewrite the original text files
for line in strings:
fp2.write(line)
fp1.close()
fp2.close()
Sample1.txt
банан
Вторая строка.
Третья строка.
Sample2.txt
Первая строка.
банан
Третья строка.
Вот так я редактирую конкретную строку для текстового файла.
Мой вопрос: Есть ли какой-нибудь метод, способный сделать то же самое?
Как использовать другие функции или использовать другой тип данных вместо списка.
Спасибо всем.