【问题标题】:How to process multiple files using a python script 'from the terminal' and not using another script or loops?如何使用“来自终端”的 python 脚本而不使用另一个脚本或循环来处理多个文件?
【发布时间】:2020-05-20 23:51:04
【问题描述】:

我有一个 python 文件,它以图像和 pdf 作为输入,计算并打印 OCR 和从 pdf 中提取的数据之间的 Levenshtein 距离。

图片名称和pdf名称如下 -
图片 - 'foo_1.png'、'foo_2.png'等(pdf每页一个png)
pdf - 'foo.pdf'

目录结构
目录
|
|__ 图片
|
|__ foo_1.png
|__ foo_2.png
|
|__ 文档
|
|__ foo.pdf
|
|__myScript.py

我从终端调用脚本,例如~/Dir$ python myScript.py foo
调用、处理文件 'foo_1.png'、'foo_2.png' 和 'foo.pdf' 并打印结果如下。

终端电流输出 -

field1 -
L 距离 - 61 L 比率 - 0.47
字段 2 -
L Dist - 54 L 比率 - 0.37

有没有办法从终端调用脚本来处理目录中的多个此类文件?

终端中的预期输出 -

field1 -
L 距离 - 61 L 比率 - 0.47
字段 2 -
L Dist - 54 L 比率 - 0.37

field1 -
L Dist - 30 L 比率 - 0.07
字段 2 -
L Dist - 84 L 比率 - 0.87

我已经有了python脚本来实现批处理。我想知道是否有办法通过仅调用“myScript.py”从终端实现此目的。

谢谢!

【问题讨论】:

    标签: python bash terminal batch-processing


    【解决方案1】:

    取决于你想做什么。您可以 ls 文件夹并将输出保存到 bash 中的文件或变量中,然后遍历文件/变量并将项目传递到 python myScript.py some_value

    最简单的方法就是这样做:

    for file in $(ls); do python myScript.py $file; done
    

    【讨论】:

    • 谢谢@markmacher。我已经有一个脚本来批处理文件,将它们存储在 pandas DataFrame 中并继续处理其他进程。我的问题是只了解是否有一种方法可以使用诸如python myScript.py *.png 之类的命令从终端调用仅处理一个文件、一批文件的脚本
    • @AccLok 我认为你的问题有点不对劲。那么我是否正确理解您想要运行 python myScript.py some_file.png 并且只有这个文件会与脚本一起运行?我很困惑。
    【解决方案2】:

    首先下载python包,借助它我们可以执行任务。 下载后启动应用程序并在终端中打开 python 普通文件和文本文件以检查指定文件是否可用。 之后提供文本文件的完整路径并按回车成功执行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-22
      • 2021-11-06
      • 2017-04-22
      • 2021-01-24
      • 2018-08-19
      • 2019-01-08
      相关资源
      最近更新 更多