Примечание. Это было помечено как потенциальный дубликат this, но смысл моего вопроса заключается в том, что использование texttract не работает. Я ищу либо (а) способ заставить texttract работать в Windows 10, либо (б) альтернативное решение.
Я создаю систему, которая должна читать различные типы файлов. Я настроил pdfminer для чтения .pdf и основываясь на процессе, описанном здесь Я установил texttract и теперь также могу читать файлы .docx. Однако texttract полагается на антислово для чтения файлов .doc, и я не могу заставить его работать, даже следуя инструкциям здесь Мне не удалось найти и установить рабочую версию антиворда. На моем компьютере не установлено Microsoft Word, и я использую Windows 10 с Python 3.6.5. Есть ли другой способ читать файлы .doc?
Вот ошибка при запуске texttract.process('d.doc') (не обращайте внимания на первую ошибку, файл точно есть):
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\site-packages\textract\parsers\utils.py", line 84, in run
stdout=subprocess.PIPE, stderr=subprocess.PIPE,
File "C:\ProgramData\Anaconda3\lib\subprocess.py", line 709, in __init__
restore_signals, start_new_session)
File "C:\ProgramData\Anaconda3\lib\subprocess.py", line 997, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\ProgramData\Anaconda3\lib\site-packages\textract\parsers\__init__.py", line 77, in process
return parser.process(filename, encoding, **kwargs)
File "C:\ProgramData\Anaconda3\lib\site-packages\textract\parsers\utils.py", line 46, in process
byte_string = self.extract(filename, **kwargs)
File "C:\ProgramData\Anaconda3\lib\site-packages\textract\parsers\doc_parser.py", line 9, in extract
stdout, stderr = self.run(['antiword', filename])
File "C:\ProgramData\Anaconda3\lib\site-packages\textract\parsers\utils.py", line 91, in run
' '.join(args), 127, '', '',
textract.exceptions.ShellError: The command antiword d.doc failed with exit code 127