我正在尝试有一个转换器,可以将任何格式的任何文件转换为文本,这样处理对我来说变得更容易。我已经使用了Python textract库。
下面是文档:https://textract.readthedocs.io/en/stable/
我已经使用pip安装了它,并尝试使用它。但是得到了错误,无法理解如何解决它。
>>> import textract
>>> text = textract.process('C:\Users\beta\Desktop\Projects Done With Specification.pdf', method='pdfminer')
File "<stdin>", line 1
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape甚至我也尝试过在不指定方法的情况下使用该命令。
>>> import textract
>>> text = textract.process('C:\Users\beta\Desktop\Projects Done With Specification.pdf')
File "<stdin>", line 1
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape请让我知道如何才能摆脱这个问题与您的建议。如果这是可能的,然后请建议我的解决方案,如果有任何其他可以方便,而不是textract,那么你仍然可以建议我。我想听听。
发布于 2017-05-01 14:59:21
\字符在不同的上下文中有不同的含义。在Windows路径名中,它是目录分隔符。在Python字符串中,它引入了转义序列。在指定路径时,您必须考虑到这一点。
尝试以下任意一种:
text = textract.process('C:\\Users\\beta\\Desktop\\Projects Done With Specification.pdf', method='pdfminer')
text = textract.process(r'C:\Users\beta\Desktop\Projects Done With Specification.pdf', method='pdfminer')
text = textract.process('C:/Users/beta/Desktop/Projects Done With Specification.pdf', method='pdfminer')发布于 2017-05-01 15:01:34
问题出在字符串上
'C:\Users\beta\Desktop\Projects Done With Specification.pdf'\U开始一个由八个字符组成的Unicode转义,例如'\U00014321`。在您的代码中,转义后跟字符“s”,这是无效的。
您需要复制所有反斜杠,或者在字符串前面加上r(以生成原始字符串)。
发布于 2017-05-01 14:55:40
试试encoding='utf-8'
textract.process('C:\Users\beta\Desktop\Projects Done With Specification.pdf', encoding='utf-8')https://stackoverflow.com/questions/43715392
复制相似问题