簡體   English   中英

當我在 python 中使用 print(file.read()) 時如何停止打印 .rtf 文件的屬性

[英]How to stop printing the properties of an .rtf file out when I use print(file.read()) in python

我是編碼 python 的新手,當我從文件(僅嘗試 from.rtf)打印出來時遇到問題,因為它顯示了所有文件屬性。 我嘗試了多種方法來編寫相同的代碼,但 output 總是相似的。 代碼示例和 output:

opener=open("file.rtf","r")
print(opener.read())
opener.close()
  • 該文件僅包含以下內容:

卡米拉

員工

試試看

  • 但結果總是:
{\rtf1\ansi\ansicpg1252\cocoartf1671\cocoasubrtf600
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
{\*\expandedcolortbl;;}
\margl1440\margr1440\vieww10800\viewh8400\viewkind0
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0

\f0\fs24 \cf0 Camila\
\
Employees\
\
Try it}

幫助? 如何阻止這種情況發生或我做錯了什么?

使用這個 package https://github.com/joshy/striprtf

from striprtf.striprtf import rtf_to_text
rtf = "some rtf encoded string"
text = rtf_to_text(rtf)
print(text)

RTF 文件類型包含的信息不僅僅是文本,例如 fonts 等。Python 將 RTF 文件作為純文本讀取,因此包含此信息。 如果你想得到純文本,你需要一個可以翻譯它的模塊,比如striprtf

通過在命令行中運行以下命令確保已安裝模塊:

pip install striprtf

然后,獲取您的文本:

from striprtf.striprtf import rtf_to_text
file = open("file.rtf", "r")
plaintext = rtf_to_text(file.read())
file.close()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM