当我在python中使用print(file.read())时,如何停止打印.rtf文件的属性



我是python编码的新手,当我从一个文件打印出来时(只从.rtf尝试过(会遇到问题,因为它显示了所有文件属性。我已经尝试了多种方法来编写相同的东西,但输出总是相似的。代码和输出示例:

opener=open("file.rtf","r")
print(opener.read())
opener.close()
  • 该文件仅包含以下内容:

Camila

员工

试试

  • 但结果总是:
{rtf1ansiansicpg1252cocoartf1671cocoasubrtf600
{fonttblf0fswissfcharset0 Helvetica;}
{colortbl;red255green255blue255;}
{*expandedcolortbl;;}
margl1440margr1440vieww10800viewh8400viewkind0
pardtx720tx1440tx2160tx2880tx3600tx4320tx5040tx5760tx6480tx7200tx7920tx8640pardirnaturalpartightenfactor0
f0fs24 cf0 Camila

Employees

Try it}

帮助?如何阻止这种情况发生,或者我做错了什么?

RTF文件类型包含的信息不仅仅是文本,如字体等。。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()

使用此包https://github.com/joshy/striprtf.

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

相关内容

  • 没有找到相关文章

最新更新