蟒蛇:打印( '//文本()')) '加入(doc.xpath('。

时间:2012-08-23 10:45:49

标签: python

有什么问题?拜托,有人说我,我要写的不是申请/ x-abiwordAbiWord。

Python 3.2.3 (default, Apr 11 2012, 07:15:24) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.

>>> f=open('a.abw','r').read()
>>> from lxml import etree
>>> doc=etree.fromstring
>>> from lxml import html
>>> doc=html.fromstring
>>> doc
<function fromstring at 0x0113B858
>>> print(''.join(doc.xpath('//text()'))
      application/x-abiwordAbiWord

SyntaxError: invalid syntax

1 个答案:

答案 0 :(得分:1)

你错过了关于打印声明的密切关注。此外,除非我出错,否则你的fromstring函数缺少括号和参数;根据{{​​3}},函数签名需要为xml.etree.ElementTree.fromstring(text)

目前看来,您似乎正在将函数“fromstring()”的引用分配给“doc”。你不能在函数引用上调用“.xpath()”。

编辑:试试这个。 编辑2:试图澄清对OP评论的回应

1:将此代码粘贴到空文档中:

MY_FILE_NAME = "path/to/my/file.abw"
# MY_FILE_NAME = "C:\\path\\to\\my\\file.abw" ## use this on windows

from lxml import etree
from lxml import html
import os

f=open(MY_FILE_NAME,'r')
myStr = f.read()
f.close()

doc=etree.fromstring(myStr)
doc=html.fromstring(myStr)

text = ''.join(doc.xpath('//text()'))

f = open(os.environ["HOME"] + "output.txt",'w')
f.write(text)
f.close()

2:将文档另存为recover.py

3:在python中运行脚本

4:???

5:获利! (也就是说,你的故事现在应该在你的主目录中的output.txt中)


注意:你到底想要做什么?如果你给我们一个精确的问题/任务,人们将能够更好地帮助你。还要尝试描述你已经尝试过的东西 - 所以不应该是人们免费工作的地方,所以重要的是表明你付出了一些努力来解决/研究你的问题。