Я хочу заменить строку в файле, созданном моей программой, но я не могу использовать .replace, потому что это не в 3.3. Как заменить строку из файла с помощью двух входы (предыдущая строка, замена), вот код до сих пор:как заменить строку в файле в python
#Data Creator
def Create(filename):
global UserFile
UserFile = open(str(filename), "w")
global file
file = (filename)
UserFile.close()
#Data Adder
def Add(data):
UserFile = open(file, "a")
UserFile.write(str(data))
UserFile.close()
#Data seeker
def Seek(target):
UserFile = open(file, "r")
UserFile.seek(target)
global postition
position = UserFile.tell(target)
UserFile.close()
return position
#Replace
def Replace(take,put):
UserFile = open(file, "r+")
UserFile.replace(take,put)
UserFile.close
Create("richardlovesdogs.txt")
Add("Richard loves all kinds of dogs including: \nbeagles")
Replace("beagles","pugs")
Как мне это сделать, так что он заменяет слово «гончие» с «мопсов»? Я изучаю питон, так что любая помощь будет оценена
Edit:
Айв изменил заменить код этого
#Replace
def Replace(take,put):
UserFile = open(file, 'r+')
UserFileT = open(file, 'r+')
for line in UserFile:
UserFileT.write(line.replace(take,put))
UserFile.close()
UserFileT.close()
, но в файле он выводит:
Richard loves all kinds of dogs including:
pugsles
как мне его изменить, поэтому он выводит только «мопсы», а не «мопсы»
'file.replace' никогда не присутствовал в python. –
'str.replace()' - метод на * строках *. Это не метод для файлового объекта. Это никогда не было. –
Я уверен, что я его где-то читал, должно быть, ошибка, что другой путь есть? – Jaffar