#python #python-2.7 #python-docx #termcolor
#python #python-2.7 #python-docx #termcolor
Вопрос:
Я хочу раскрасить текст, присутствующий в строке, и передать строку в другой файл python, чтобы поместить полученную цветную строку в файл docx. Я пытался таким образом, но это не работает.
from termcolor import colored
from docx import Document
document = Document()
item_i="nn Comma is required in line dependent clause is in beginningnn"
ctxt = colored(item_i, 'blue')
p=document.add_paragraph()
p.add_run(ctxt)
document.add_page_break()
document.save('demo.docx')
он отображается правильно в терминале, но не в файле, он показывает ошибку
from termcolor import colored
item_i="nn Comma is required in line dependent clause is in beginningnn"
ctxt = colored(item_i, 'blue')
print ctxt
В этом формате он отображается правильно. Пожалуйста, помогите мне решить эту проблему.
Комментарии:
1. Я думаю, termcolor может раскрашивать символы в терминале. И я предполагаю, что docx имеет какое-то отношение к формату Microsoft Word. Эти два не связаны. Раскраска на терминале кодируется совершенно иначе, чем раскраска символов в ms word.
2. да, но я хочу сделать то же самое с файлом
3. Вы имеете в виду файл, предназначенный для открытия в msword или для печати на терминале (черное окно консоли)
4. Я хочу распечатать это в ms Word
5. txt-файл также может работать, но docx более предпочтителен
Ответ №1:
Вы должны использовать docx
форматирование текста, поскольку, как сказал Жак де Хог, termcolor
это для терминала. Смотрите здесь .
from docx.shared import RGBColor
Затем
run = p.add_run(item_i)
run.font.color.rgb = RGBColor(0x00, 0x00, 0xFF)
Комментарии:
1. Спасибо за ваши усилия. Я тоже пробовал это, но мне нужно вернуть изменения, внесенные в строку, в другой файл, чтобы файл мог поместить строку в файл docx. Я имею в виду, что когда я возвращаю item_i или запускаю, внесенные изменения должны быть там.
2. Я новичок в python, поэтому у меня возникают подобные сомнения.
3. Не уверен, что вы имеете в виду — вам нужно прочитать строку из текстового файла и записать ее в файл docx?
4. нет, я просто хочу написать строку, в которой часть текста окрашена, и передать строку в другой файл python, который создает файл docx с переданной строкой.
5. Почему вы хотите передать его в другой файл? Вы хотите поместить эту функциональность в другой модуль?