【问题标题】:Getting python to run an application when the application needs an input file当应用程序需要输入文件时让 python 运行应用程序
【发布时间】:2016-08-08 16:41:27
【问题描述】:
import subprocess
subprocess.call(['C:\\Users\michael\\Desktop\\Test\\pdftotext'])

pdftotext 是如果我使用此 ^ 代码将运行的应用程序。这很好用,但是,我正在尝试找到一种运行 pdftotext 的方法,其中包含 pdftotext 用来将其转换为文本文件的 pdf 文件名。

请注意,这不是关于 pdftotext 的问题。

当我在 Windows 中使用 cmd 运行它时,我只需键入 pdftotext fileName.pdf 并将 pdf 文件转换为文本文件,没问题。现在我想用 Python 做一些等效的事情。

我把它改成了这个,但它不起作用。我被告知“系统找不到指定的文件”,我已将 pdftotext 与 filename.pdf 一起放入 src 文件中

import subprocess
subprocess.call(['C:\\Users\michael\\Desktop\\Test\\pdftotext', 'filename.pdf'])

【问题讨论】:

  • 使用r"raw\string" 以确保您不会在字符串文字中出错,例如使用"\m" 而不是"\\m"。幸运的是"\m" 不是特殊字符。
  • 另外,您还依赖工作目录中的“filename.pdf”。这取决于脚本的运行方式。您可能需要文件的绝对路径,或者相对于脚本目录的路径。新手程序员经常会误以为脚本目录和工作目录是一样的。

标签: python windows python-3.x cmd


【解决方案1】:

subprocess.call 接受一个迭代,其中第一项是可执行文件,以下是开关和参数。

这意味着您需要将上面的内容更改为:

import subprocess
subprocess.call(['C:\\Users\michael\\Desktop\\Test\\pdftotext', 'filename.pdf'])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-22
    • 1970-01-01
    • 2015-02-06
    • 1970-01-01
    • 2012-09-08
    相关资源
    最近更新 更多