【问题标题】:Commands from within python script not found未找到来自 python 脚本中的命令
【发布时间】:2018-03-25 20:17:39
【问题描述】:

我正在使用sox 命令行工具来转换python 脚本中的文件。我可以从命令提示符窗口手动转换文件,但是当我从同一个工作目录执行我的代码时,我返回一个错误:

'sox' is not recognized as an internal or external command, operable program or batch file.

sox 是我的道路。但没有被发现。当 python 运行 subprocess.call 方法时,是否有可能为该方法更改当前工作目录,并在找不到我的某些路径变量的位置运行?

这就是我运行找不到“sox”的代码的方式

    print("Enter a name for the .wav output file")
    filename = raw_input()
    + " " + filename + ".wav"
    COMMAND = "sox " + fileOut + " " + filename + ".wav"
    subprocess.call(COMMAND, shell = True)

如果我让我的命令正确执行...

COMMAND = "C:\\\"Program Files (x86)\"\sox-14-4-2\sox.exe " + fileOut + " " + filename + ".wav"

为什么在这个 python 文件中找不到 sox?

【问题讨论】:

  • 但是您的目录在您的路径中吗?有效的命令使用完整路径...

标签: python command subprocess call


【解决方案1】:

删除您的shell=True 并将COMMAND 设为列表:

COMMAND = ["sox", fileOut, filename + ".wav"]
subprocess.call(COMMAND)

【讨论】:

  • 谢谢!不知道为什么这会解决问题,但确实如此!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多