我制作了一个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
有谁知道如何防止这种情况出现?
答案 0 :(得分:1)
原来要做的是删除子进程调用中单词Time
周围的双引号。
master_start_time = subprocess.check_output(["grep", "-a", 'Time', master_wav]).strip()[-23:]