在文件夹中的所有文件上运行命令的Python脚本



要将pdf转换为文本,我使用以下命令:

pdf2txt.py -o text.txt example.pdf # It will convert example.pdf to text.txt

但是我有超过1000个pdf文件,我需要首先转换为文本文件,然后进行分析。

是否有一种方法可以让我使用这个命令来迭代pdf文件并转换所有文件?

我建议你有一个shell脚本:

for f (*.pdf) {pdf2txt.py -o $f $f.txt}

然后使用python读取所有.txt文件进行分析。

只使用python转换:

from subprocess import call
import glob
for pdf_file in glob.glob('*.pdf'): 
    call(["pdf2txt.py", "-o", pdf_file, pdf_file[:-3]+"txt"])

python代码在我的win10操作系统上出错(OSError: [WinError 193] %1不是有效的Win32应用程序),for循环应该是:

for pdf_file in glob.glob('*.pdf'):
    call(['python.exe','pdf2txt.py','-o',pdf_file[:-3]+'txt',pdf_file])

注意,文件i/o的参数是相反的,如果你保持相同的顺序,你的文件会被空文件覆盖…

仍然感谢Gurupad Hegde,告诉我如何隐蔽文件,它帮助很大!

最新更新