2012-08-23 21 views
-1

有什么不对?请有人说我必须写什么而不是application/x-abiwordAbiWord。python:print(''。join(doc.xpath('// text()'))

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 
+2

您没有关闭“(”在您的打印 – AlbertFerras

+0

这不是问题,问题是与“应用程序” – nikita23

+0

*什么*问题与“应用程序”?你想用它做什么?它是什么意思? –

回答

1

你错过了上打印语句近距离括号另外,除非我弄错身世,你fromstring功能缺失括号和参数;根据python reference,函数签名必须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:运行脚本in python

4:???

5:利润! (换言之,你的故事现在应该可以output.txt的在你的主目录)


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

+0

我是一个业余爱好者,所以这不会帮助我..我只是做,一个男孩做什么,但它不适用于我:( – nikita23

+0

有人可以重写它吗? ,这是非常重要的。 – nikita23

+0

@ nikita23查看编辑 – Moritz