import sys
import os.path
from pyth.plugins.rtf15.reader import Rtf15Reader
from pyth.plugins.xhtml.writer import XHTMLWriter
if len(sys.argv) > 1:
filename = sys.argv[1]
else:
filename = os.path.normpath(os.path.join(
os.path.dirname(__file__),
'HW1_TRPL_Stranks.rtf'))
doc = Rtf15Reader.read(open(filename, "r"))
print(XHTMLWriter.write(doc, pretty=True).read())
任何人都知道如何将.rtf文件导入python?我正在尝试堆栈中的东西,但它不起作用。
更新:我安装了pyth模块,它一直告诉我找不到模块
This is the error I got
答案 0 :(得分:0)
答案 1 :(得分:0)
从围绕stackoverflow提出的几个选项中,我认为最可靠的方法是使用命令行LibreOffice。
shell中的命令应通过:
soffice --headless --convert-to html file.rtf
如果您想转换为html而不是宽松的格式。 txt
也可以。
在Python3.6中,您将拥有
from subprocess import call
call(["soffice", "--headless", "--convert-to", "html", "file.rtf"])
然后将文件读取到变量:
with open('file.html', 'r') as myfile:
data=myfile.read().replace('\n', '')
重要说明:如果打开了任何LibreOffice实例,则此方法将无效。因此,在运行它之前,请关闭所有LibreOffice文件。