Мне стыдно снова обратиться за помощью, но я застрял.Сценарий Python записывает текст в файл, но не добавляет текст, который он должен использовать
У меня есть испанский роман (в обычном тексте), и у меня есть сценарий Python, который должен помещать переводы для сложных слов в круглые скобки, используя пользовательский словарь в другом текстовом файле.
После многих проб и ошибок, мне удалось запустить скрипт и написать роман в новый текстовый файл, как он должен был делать.
Проблема только в том, что текст в романе не был внесен, т. Е. Переводы не были вставлены в текст. Словарь представляет собой обычный текстовый файл, и он отформатирован так:
[spanish word] [english translation]
[spanish word] [english translation]
и так далее. Обратите внимание, что слова не заключены в скобки. Между каждым словом есть одно пространство, и в нем нет места где-либо еще.
Вот код обижая:
bookin = (open("novel.txt")).read()
subin = open("dictionary.txt")
for line in subin.readlines():
ogword, meaning = line.split(" ")
subword = ogword + "(meaning)"
bookin.replace(ogword, subword)
ogword = ogword.capitalize()
subword = ogword + "(meaning)"
bookin.replace(ogword, subword)
subin.close()
bookout = open("output.txt", "w")
bookout.write(bookin)
bookout.close()
Совет будет высоко оценен.
Редактировать: MemoryError решается сейчас, были ошибки в словаре я думал, что фиксировано. Большое вам спасибо тем, кто помог мне с этой глупой проблемой!
Пожалуйста, попробуйте написать название, описывающее вашу проблему. – agf
Я думаю, это был плохой титул, спасибо за отзыв. – Yngve
Также рассмотрите возможность использования блоков 'with' при взаимодействии с ресурсами, которые в конечном итоге должны быть закрыты. http://effbot.org/zone/python-with-statement.htm. [Эта статья] (http://preshing.com/20110920/the-python-with-statement-by-example) освещает другие применения оператора 'with'. –