代码之家  ›  专栏  ›  技术社区  ›  UnexpectedBehaviour

未找到python脚本中的命令

  •  0
  • UnexpectedBehaviour  · 技术社区  · 7 年前

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

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

    sox是我的道路。但没有找到。python运行子流程时是否可能。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?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Marcin Orlowski    7 年前

    放下你的 shell=True 和make COMMAND 列表:

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