【问题标题】:Python Script to run a command over all files in a folder用于对文件夹中的所有文件运行命令的 Python 脚本
【发布时间】:2015-06-03 15:46:04
【问题描述】:

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

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

但我有 1000 多个 pdf 文件,我需要先将其转换为文本文件,然后再进行分析。

有没有一种方法可以让我使用此命令来遍历 pdf 文件并转换所有文件?

【问题讨论】:

  • for %i in (*.pdf) do pdf2txt.py -o %~ni.txt %i in 应该在 Windows 的命令行中执行您想要的操作。

标签: python pdf text data-analysis pdfminer


【解决方案1】:

我建议你有一个 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"])

【讨论】:

  • 由于我使用的是windows,我可以在Python Script中实现吗?
  • -o是为了输出,不是相反,正确的代码:for f (*.pdf) {pdf2txt.py $f -o $f.txt}
【解决方案2】:

python 代码在我的 win1o 操作系统上出错(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,告诉我隐藏文件的方法,它有很大帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-04
    • 2017-04-04
    • 1970-01-01
    • 1970-01-01
    • 2014-12-22
    • 2015-02-17
    • 2015-04-21
    相关资源
    最近更新 更多