我使用子进程来运行命令行工具。这个工具正在控制台中计算并打印我需要的偏移量值。但是stdout和stderr都是空的。 这是我的python代码:
import subprocess
PRAAT_EXE = r'S:\Resources\SOFTWARE_AND_UTILITIES\Praat\Praat.exe'
WAV_FILE_1 = r'F:\dev\praat\one.wav'
WAV_FILE_2 = r'F:\dev\praat\two.wav'
CMD = '{0} crosscorelate.praat {1} {2}'.format(PRAAT_EXE, WAV_FILE_1, WAV_FILE_2).split()
p = subprocess.Popen(CMD, shell=True)
output, err = p.communicate()
print("OUTPUT", output)
print("ERRORS", err)
这是控制台的输出:
^{2}$因此,在python脚本继续运行之前,您可以看到在控制台中打印了该值。我不知道这个值在哪个管道中,但我无法得到它。在
编辑:以下命令不打印文件中的任何内容:
Praat.exe crosscorelate.praat one.wav two.wav > result.txt
但在python脚本完成后的几秒钟内,该值将在我的命令提示符中打印出来,如下所示:
F:\dev\praat>-0.09053774572864626
目前没有回答
相关问题 更多 >
编程相关推荐