调用子进程仅适用于PyCharm调试器

时间:2017-01-12 12:03:10

标签: python python-2.7 grep subprocess pycharm

我制作了一个Python脚本,其中一行通过grep调用subprocess

master_start_time = subprocess.check_output(["grep", "-a", '"Time"', master_wav]).strip()[-23:]

当我使用我的Python解释器(v.2.7.12)运行它时,从PyCharm和远程shell执行时都会出现以下错误(因为脚本和数据驻留在运行Ubuntu 16.04的远程计算机上)。 1):

subprocess.CalledProcessError: Command '['grep', '-a', '"Time"', './DATA/PREDICTING/1014/1014_L.wav']' returned non-zero exit status 1

然而,一旦我通过远程PyCharm调试器运行脚本,一切都运行顺利。

调试时,PyCharm控制台中首先出现以下行。他们应该总结一下调试配置。

ssh://{user}@{server}:{port}{path to interpreter} -u {path to PyCharm debugger} --multiproc --qt-support --client '0.0.0.0' --port 35567 --file {path to script}
pydev debugger: process 18838 is connecting

有谁知道如何防止这种情况出现?

1 个答案:

答案 0 :(得分:1)

原来要做的是删除子进程调用中单词Time周围的双引号。

master_start_time = subprocess.check_output(["grep", "-a", 'Time', master_wav]).strip()[-23:]