如何解决Textract:失败,退出代码127 // Windows 10 // pdftotext
当我尝试运行我的程序(使用pyinstaller部署后)时,用于读取和转换PDF文件并将其输入到Google工作表中。我收到下图中显示的错误。但是我似乎无法弄清楚问题出在哪里:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\trpfinance\AppData\Local\Programs\Python\Python38-32\lib\site-packages\textract\parsers\utils.py",line 82,in run
pipe = subprocess.Popen(
File "C:\Users\trpfinance\AppData\Local\Programs\Python\Python38-32\lib\subprocess.py",line 854,in __init__
self._execute_child(args,executable,preexec_fn,close_fds,File "C:\Users\trpfinance\AppData\Local\Programs\Python\Python38-32\lib\subprocess.py",line 1307,in _execute_child
hp,ht,pid,tid = _winapi.CreateProcess(executable,args,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 "C:\Users\trpfinance\AppData\Local\Programs\Python\Python38-32\lib\tkinter\__init__.py",line 1883,in __call__
return self.func(*args)
File "EinkaufRGWindows.py",line 40,in InkoopRekeningen
text = textract.process(str(importfolder) + str(i))
File "C:\Users\trpfinance\AppData\Local\Programs\Python\Python38-32\lib\site-packages\textract\parsers\__init__.py",line 77,in process
return parser.process(filename,encoding,**kwargs)
File "C:\Users\trpfinance\AppData\Local\Programs\Python\Python38-32\lib\site-packages\textract\parsers\utils.py",line 46,in process
byte_string = self.extract(filename,**kwargs)
File "C:\Users\trpfinance\AppData\Local\Programs\Python\Python38-32\lib\site-packages\textract\parsers\pdf_parser.py",line 28,in extract
raise ex
File "C:\Users\trpfinance\AppData\Local\Programs\Python\Python38-32\lib\site-packages\textract\parsers\pdf_parser.py",line 20,in extract
return self.extract_pdftotext(filename,line 43,in extract_pdftotext
stdout,_ = self.run(args)
File "C:\Users\trpfinance\AppData\Local\Programs\Python\Python38-32\lib\site-packages\textract\parsers\utils.py",line 90,in run
raise exceptions.ShellError(
textract.exceptions.ShellError: The command `pdftotext //Mac/Home/Desktop/Wickey Einkauf Test/Rekeningen/Lekkerkerker_ - 20803471.pdf -` failed with exit code 127
------------- stdout -------------
------------- stderr -------------
解决方法
您似乎得到了FileNotFoundError
。如果您看到此错误,则正在运行的命令是:
pdftotext //Mac/Home/Desktop/Wickey Einkauf Test/Rekeningen/Lekkerkerker_ -
0803471.pdf -
在这里我要看几件事。首先,在文件路径的开头有一个额外的斜杠,这似乎是错误的。其次,文件路径中有空格,但是路径中没有引号。第二部分意味着pdftotext
将把它读为几个单独的命令参数,而不是一个。您可以通过格式化子流程调用的格式来解决此问题,以使文件用引号引起来,如下所示:
pdftotext "example file path.pdf" -
,
您需要使用pip安装pdftotext。 要安装它,您需要具有Microsoft Visual C ++ 14或更高版本。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。