python 从未知格式转换
python convert from unknown format
我正在使用 python 将 rtf 文件转换为纯文本。我正在使用 pyth 来转换它,但它最终变成了一种我无法识别的格式。
这是我的输入 python 脚本:
from pyth.plugins.rtf15.reader import Rtf15Reader
from pyth.plugins.plaintext.writer import PlaintextWriter
import sys
if len(sys.argv) > 1:
filename = sys.argv[1]
else:
filename = "C:\localdata\logbook.rtf"
doc = Rtf15Reader.read(open(filename, "rb"))
y = [x.content for x in doc.content]
for j in y:
print j
输出结果如下:
[Text('[AJAJ]' {})]
[Text('[07:30 - Setup IP address]' {})]
[Text('[copied DM Queue and recipies from AYT404]' {})]
[Text('[07:50 - Backed up system pre SP7]' {})]
[Text('[08:00 - Installing SP7]' {})]
[Text('[08:15 - Startup Drivers -> OK]' {})]
有谁知道这是什么格式,我怎样才能把它转换成更易读的格式?
编写一个简单的过滤器来获取您想要的内容可能会更容易。从您发布的示例来看,您似乎只需要删除前 8 个字符和后 7 个字符(如果我算对了的话)。所以而不是 print j
你有
print str(j)[8:-7]
你需要 str
的原因是对象是列表 y
显然不是字符串。我对这些模块不熟悉,所以我不能说它们是什么类型的对象,但它们的字符串表示就是我们看到的打印出来的。 (每个 python 对象都有某种字符串表示形式,这就是为什么您可以对任何对象调用 print
的原因。)因此,无论对象 j 实际上是什么类型,str(j)
都是它的字符串表示形式, 我们可以将其切片。
我正在使用 python 将 rtf 文件转换为纯文本。我正在使用 pyth 来转换它,但它最终变成了一种我无法识别的格式。
这是我的输入 python 脚本:
from pyth.plugins.rtf15.reader import Rtf15Reader
from pyth.plugins.plaintext.writer import PlaintextWriter
import sys
if len(sys.argv) > 1:
filename = sys.argv[1]
else:
filename = "C:\localdata\logbook.rtf"
doc = Rtf15Reader.read(open(filename, "rb"))
y = [x.content for x in doc.content]
for j in y:
print j
输出结果如下:
[Text('[AJAJ]' {})]
[Text('[07:30 - Setup IP address]' {})]
[Text('[copied DM Queue and recipies from AYT404]' {})]
[Text('[07:50 - Backed up system pre SP7]' {})]
[Text('[08:00 - Installing SP7]' {})]
[Text('[08:15 - Startup Drivers -> OK]' {})]
有谁知道这是什么格式,我怎样才能把它转换成更易读的格式?
编写一个简单的过滤器来获取您想要的内容可能会更容易。从您发布的示例来看,您似乎只需要删除前 8 个字符和后 7 个字符(如果我算对了的话)。所以而不是 print j
你有
print str(j)[8:-7]
你需要 str
的原因是对象是列表 y
显然不是字符串。我对这些模块不熟悉,所以我不能说它们是什么类型的对象,但它们的字符串表示就是我们看到的打印出来的。 (每个 python 对象都有某种字符串表示形式,这就是为什么您可以对任何对象调用 print
的原因。)因此,无论对象 j 实际上是什么类型,str(j)
都是它的字符串表示形式, 我们可以将其切片。