Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.63/48: Рейтинг темы: голосов - 48, средняя оценка - 4.63
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337

Прочитать файл с расширением rtf

21.12.2020, 20:32. Показов 10946. Ответов 79
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
здравствуйте, использую код
Python
1
2
3
4
from pyth.plugins.rtf15.reader import Rtf15Reader
 
rtf_текст = Rtf15Reader.read(open(rtf_файл, "r"))
print("len(rtf_текст)", len(rtf_текст))
получаю ошибку
Traceback (most recent call last):
File "C:\pythonProject\main.py", line 104, in <module>
from pyth.plugins.rtf15.reader import Rtf15Reader
ModuleNotFoundError: No module named 'pyth'

что я делаю не так? спс
подзабыл "r" - это чтение, а какой параметр у изменения файла?

Добавлено через 3 часа 54 минуты
читаю инфу, правда она бородатая 2000-х годов
Перейдите к загрузкам, чтобы получить PyRTF
то есть я ещё должен что-то загрузить? ничего по сей день не изменилось?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.12.2020, 20:32
Ответы с готовыми решениями:

Прочитать rtf файл постранично
Так я читаю rtf файл using (OpenFileDialog openFile = new OpenFileDialog()) { ...

Как программно пересохранить word-овский документ в файл с расширением «.rtf»
Dim word = New Word.Application word.Documents.Open(&quot;\...\Doc1.doc&quot;) ...

Прочитать файл с расширением TDMS
в работе в программе на си нужно прочитать файл с таким расширение кто может подсказать что это за зверь никогда не встречал и как его...

79
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
02.01.2021, 18:05  [ТС]
Студворк — интернет-сервис помощи студентам
чтобы ответить на вопрос, нужно грохнутый venv - восстанавливать-так к слову сказал, чтобы не было недопонимания
восстановил venv, вот ответ:
['C:\\pythonProject', 'C:\\Users\\q8902', 'C:\\Users\\q8902\\AppData\\Local\\Progr ams\\Python\\Python39\\python39.zip', 'C:\\Users\\q8902\\AppData\\Local\\Progr ams\\Python\\Python39\\DLLs', 'C:\\Users\\q8902\\AppData\\Local\\Progr ams\\Python\\Python39\\lib', 'C:\\Users\\q8902\\AppData\\Local\\Progr ams\\Python\\Python39', 'C:\\pythonProject\\venv', 'C:\\pythonProject\\venv\\lib\\site-packages']
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
02.01.2021, 18:07
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
нужно грохнутый venv - восстанавливать
Его не нужно восстанавливать. Все действия выше были ради того, чтобы его не было в sys.path.
Ну или попробуй поставить пакет pyth3 в том же окне настроек интерпретатора. Слева внизу кнопка +.
0
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
02.01.2021, 18:21  [ТС]
['C:\\pythonProject', 'C:\\Users\\q8902', 'C:\\Users\\q8902\\AppData\\Local\\Progr ams\\Python\\Python39\\python39.zip', 'C:\\Users\\q8902\\AppData\\Local\\Progr ams\\Python\\Python39\\DLLs', 'C:\\Users\\q8902\\AppData\\Local\\Progr ams\\Python\\Python39\\lib', 'C:\\Users\\q8902\\AppData\\Local\\Progr ams\\Python\\Python39', 'C:\\pythonProject\\venv', 'C:\\pythonProject\\venv\\lib\\site-packages']

Добавлено через 6 минут
Цитата Сообщение от 0x10 Посмотреть сообщение
Слева внизу кнопка +
аккурат в том месте знак вопроса
https://cloud.mail.ru/public/8ngf/GZhsCiZuj
ну судя по увиденному вроде стоит pyth3
и петрович в двух разливах)) и где плюсик?
0
Эксперт Python
5439 / 3860 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
02.01.2021, 18:21
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
чем и плох питон, высоким порогом вхождения
Нет никакого высокого порога.
Просто ты не знаешь многих очевидных и элементарных вещей, которые к самому языку отношения не имеют.
Это называется нулевая компетенция. Как если бы я научившись ездить на велосипеде решил сразу пересесть за руль легковушки ничего не зная о ПДД и прочих сопутствующих вещах.
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
02.01.2021, 18:52
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
и где плюсик?
Было бы проще мне подключиться по teamviewer и нажать две кнопки…

Добавлено через 25 минут
Резюме такое. Есть два окружения, с которыми может быть запущен интерпретатор. Одно — дефолтное (в данном случае уровня пользователя), второе — виртуальное (в данном случае уровня проекта), созданное ide при создании проекта. Нужно следить, какое окружение используется при запуске скрипта и куда ставятся пакеты. В данном случае пакет ставился на уровень пользователя, а используется интерпретатор уровня проекта.
0
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
02.01.2021, 18:58  [ТС]
спасибо добрый питонист
после вашего подключения и манипуляций
было сказано, что нужно разбираться с файлом...
я подумал, что внутри его что-то ему не нравится
создал новый с цифрами 11
на одну строчку спустился
Traceback (most recent call last):
File "C:\pythonProject\main.py", line 44, in <module>
rtf_текст = Rtf15Reader.read(open(rtf_файл, "r"))
File "C:\pythonProject\venv\lib\site-packages\pyth\plugins\rtf15\reader.py", line 94, in read
return reader.go()
File "C:\pythonProject\venv\lib\site-packages\pyth\plugins\rtf15\reader.py", line 109, in go
raise WrongFileType("Doesn't look like an RTF file")
pyth.errors.WrongFileType: Doesn't look like an RTF file

вау
0
Эксперт Python
5439 / 3860 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
03.01.2021, 00:13
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
pyth.errors.WrongFileType: Doesn't look like an RTF file
Ты создал не rtf файл. RTF нельзя создать в блокноте - это мета-тэговый файл MS Word. Формат является проприетарным (microsoft) и создать файл можно либо в WordPad, либо MS Word, либо продвинутом текстовом процессоре (не редакторе!), который умеет экспортировать текст в этот формат.
0
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
03.01.2021, 10:58  [ТС]
Цитата Сообщение от Garry Galler Посмотреть сообщение
Doesn't look like an RTF file
Не похоже на файл RTF
Цитата Сообщение от Garry Galler Посмотреть сообщение
RTF нельзя создать в блокноте - это мета-тэговый файл MS Word
я и не спорю, я его и создал в Ворде, видимо нужно приложить...убедились? как далее действовать? спс
Вложения
Тип файла: 7z 11.7z (6.8 Кб, 8 просмотров)
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
03.01.2021, 11:18
Лучший ответ Сообщение было отмечено Ципихович Эндрю как решение

Решение

Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
как далее действовать?
По мотивам официального примера:
Python
1
2
3
4
5
6
7
from pyth.plugins.rtf15.reader import Rtf15Reader
from pyth.plugins.xhtml.writer import XHTMLWriter
 
 
doc = Rtf15Reader.read(open('11.rtf', 'rb'))
html_doc = XHTMLWriter.write(doc, pretty=True).read().decode('utf-8')
print(html_doc)
1
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
03.01.2021, 11:32  [ТС]
взлёт подтверждаю:
HTML5
1
2
3
<div>
<p>11</p>
</div>
СПАСИБО, неожиданно что с тегами, а как подправить, чтобы их не было, то что можно потом рубаночком пройтись я понимаю, может уже в чтении можно?
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
03.01.2021, 11:35
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
как подправить, чтобы их не было
Python
1
2
3
4
5
6
7
from pyth.plugins.rtf15.reader import Rtf15Reader
from pyth.plugins.plaintext.writer import PlaintextWriter
 
 
doc = Rtf15Reader.read(open('11.rtf', 'rb'))
text = PlaintextWriter.write(doc).read()
print(text)
1
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
03.01.2021, 11:56  [ТС]
ок, финиш, выложу его, вдруг кому пригодится
Python
1
2
3
4
5
6
7
8
9
10
11
12
from pyth.plugins.rtf15.reader import Rtf15Reader
from pyth.plugins.xhtml.writer import XHTMLWriter
from pyth.plugins.plaintext.writer import PlaintextWriter
 
doc = Rtf15Reader.read(open('d:/11.rtf', 'rb'))
html_doc = XHTMLWriter.write(doc, pretty=True).read().decode('utf-8')
print(html_doc)
 
print()
doc = Rtf15Reader.read(open('d:/11.rtf', 'rb'))
text = PlaintextWriter.write(doc).read()
print(text)
то что связано с нижесказанным жесть:
Цитата Сообщение от 0x10 Посмотреть сообщение
Резюме такое. Есть два окружения, с которыми может быть запущен интерпретатор. Одно — дефолтное (в данном случае уровня пользователя), второе — виртуальное (в данном случае уровня проекта), созданное ide при создании проекта. Нужно следить, какое окружение используется при запуске скрипта и куда ставятся пакеты. В данном случае пакет ставился на уровень пользователя, а используется интерпретатор уровня проекта.
ну или надо быть в теме......
огромное спасибо
ну и ложка дёгтя
в файле поместил текст:
11 обычный текст текст в нижнем-подстрочном индексе-начертании текст в верхнем-надстрочном индексе-начертании
файл приложил
ошибка:
Traceback (most recent call last):
File "C:\pythonProject\main.py", line 44, in <module>
doc = Rtf15Reader.read(open('d:/11.rtf', 'rb'))
File "C:\pythonProject\venv\lib\site-packages\pyth\plugins\rtf15\reader.py", line 94, in read
return reader.go()
File "C:\pythonProject\venv\lib\site-packages\pyth\plugins\rtf15\reader.py", line 117, in go
self.parse()
File "C:\pythonProject\venv\lib\site-packages\pyth\plugins\rtf15\reader.py", line 154, in parse
self.group.handle(control, digits)
File "C:\pythonProject\venv\lib\site-packages\pyth\plugins\rtf15\reader.py", line 434, in handle
handler()
TypeError: handle_super() missing 1 required positional argument: 'amount'
Вложения
Тип файла: 7z 11.7z (7.0 Кб, 6 просмотров)
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
03.01.2021, 13:42
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
ну и ложка дёгтя
Выглядит как баг библиотеки. У \super не должно быть аргумента, а библиотека почему-то его ожидает. По коду видно, что парные sub/dn отличаются наличием аргумента, а парные super/up — нет.
Python
1
2
3
4
5
6
7
8
9
10
11
    def handle_up(self, amount):
        self.content.append(ReadableMarker("super", True))
 
    def handle_super(self, amount):
        self.content.append(ReadableMarker("super", True))
 
    def handle_dn(self, amount):
        self.content.append(ReadableMarker("sub", True))
 
    def handle_sub(self):
        self.content.append(ReadableMarker("sub", True))
Можно исправить самостоятельно или зарепортить баг.

Если нужно просто сконвертировать rtf в текст, может подойти модуль https://pypi.org/project/striprtf/
1
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
03.01.2021, 14:03  [ТС]
Цитата Сообщение от 0x10 Посмотреть сообщение
зарепортить баг
это обратится к разробу Rtf15Reader?
о это гитхаб-там я никого не знаю))

Добавлено через 12 минут
Цитата Сообщение от 0x10 Посмотреть сообщение
Если нужно просто сконвертировать rtf в текст, может подойти модуль https://pypi.org/project/striprtf/
так там же
Python
1
2
3
4
from striprtf.striprtf import rtf_to_text
rtf = "some rtf encoded string"
text = rtf_to_text(rtf)
print(text)
требуется в переменную rtf = некоторая закодированная строка rtf
которую не открыв файла не получить...
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
03.01.2021, 14:38
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
требуется в переменную rtf = некоторая закодированная строка rtf
которую не открыв файла не получить...
И в чем проблема открыть и прочитать файл?
1
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
03.01.2021, 15:17  [ТС]
не правильно ранее проинформировал:
с чтением текста в нижнем-подстрочном индексе-начертании справился - <span style="vertical-align: sub; font-size: smaller">текст в нижнем-подстрочном индексе-начертании</span>

с чтением текста в верхнем-надстрочном индексе-начертании НЕ справился

Цитата Сообщение от 0x10 Посмотреть сообщение
И в чем проблема открыть и прочитать файл?
так ошибка же валится:
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
ошибка:
Traceback (most recent call last):
File "C:\pythonProject\main.py", line 44, in <module>
doc = Rtf15Reader.read(open('d:/11.rtf', 'rb'))
File "C:\pythonProject\venv\lib\site-packages\pyth\plugins\rtf15\reader.py", line 94, in read
return reader.go()
File "C:\pythonProject\venv\lib\site-packages\pyth\plugins\rtf15\reader.py", line 117, in go
self.parse()
File "C:\pythonProject\venv\lib\site-packages\pyth\plugins\rtf15\reader.py", line 154, in parse
self.group.handle(control, digits)
File "C:\pythonProject\venv\lib\site-packages\pyth\plugins\rtf15\reader.py", line 434, in handle
handler()
TypeError: handle_super() missing 1 required positional argument: 'amount'
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
03.01.2021, 15:21
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
так ошибка же валится
Поэтому я и предлагаю использовать другой модуль, если его будет достаточно.
Python
1
2
3
4
5
6
from pathlib import Path
from striprtf.striprtf import rtf_to_text
 
content = Path('11.rtf').read_text()
text = rtf_to_text(content)
print(text)
1
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
03.01.2021, 15:53  [ТС]
C:\Users\q8902\AppData\Local\Programs\Py thon\Python39\Scripts\pip install striprtf
Collecting striprtf
Downloading striprtf-0.0.12-py3-none-any.whl (6.1 kB)
Installing collected packages: striprtf
Successfully installed striprtf-0.0.12

ошибка
Traceback (most recent call last):
File "C:\pythonProject\main.py", line 42, in <module>
from striprtf.striprtf import rtf_to_text
ModuleNotFoundError: No module named 'striprtf'

опять смотрю на магию
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
Резюме такое. Есть два окружения, с которыми может быть запущен интерпретатор. Одно — дефолтное (в данном случае уровня пользователя), второе — виртуальное (в данном случае уровня проекта), созданное ide при создании проекта. Нужно следить, какое окружение используется при запуске скрипта и куда ставятся пакеты. В данном случае пакет ставился на уровень пользователя, а используется интерпретатор уровня проекта.
не осознанно но делаю-мышечная память
файл настройки выделил striprtf галочку у инсталла поставил, нажал инсталл
увидел сообщение pachage installed successfull - пакет успешно установлен
но ошибка No module named 'striprtf' - как приклеенная
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
03.01.2021, 16:06
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
опять смотрю на магию
В настройках проекта выбрать интерпретатор из venv и поставить пакет в него.
1
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
03.01.2021, 16:30  [ТС]
тогда для себя чуть понятней напишу
В настройках проекта выбрать интерпретатор где есть "\venv" и поставить пакет в него пользуясь pip
под шумок поставил двух персонажей Petrovich and pytrovich)) - 100 лет им жизни))
взлетело, спасибо
но с ложкой дёгтя-кракозябрами
11 îáû÷íûé òåêñò 11îîîîîøø îáû÷íûïïïïïïïé òåêñò â íèæíåì-ïîäñòðî÷íîì èíäåêñå-íà÷åðòàíèè
модификация строки в таком виде не помогла
Python
1
content = Path(файл).read_text().decode('utf-8')
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.01.2021, 16:30

Как прочитать файл с расширением .tmp?
Есть большой файл с расширением .tmp, лишь он при условии своей целостности, должно быть, хранит содержимое некой презентации. Можно ли его...

Power Point не удается прочитать файл с расширением .tmp
Подскажите, если Вы не заняты и не против. Записывал на диск «с» видео рабочего стола в Power Point. Было уведомление о нехватке места на...

Как можно прочитать и изменить файл doc или rtf или exel на Perl под Linux
Как можно прочитать и изменить файл doc или rtf или exel на Perl под Linux пробувал искать какето модули не могу найти проблема в...

Открыть, прочитать, изменить файл со "своим" расширением
Как можно открыть файл, допустим файл &quot;test.dat&quot;, вывести его значение в лейбл, изменить его и сохранить? Сильнее всего интересует как...

Не удается прочитать поврежденный rtf
Собирал заметки по крупицам после последнего добавления комп вырубился, теперь не могу открыть фаил пишет что поврежден. Пробовал разные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат» Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru