问题描述
我正在尝试执行一个程序,但是该程序基于使用神经网络的葡萄酒数据集给出错误
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from subprocess import check_output
print(check_output(["ls","../input"]).decode("utf8"))
我收到错误消息'CalledProcessError'
<ipython-input-8-846d8ac0593c> in <module>()
3 import matplotlib.pyplot as plt
4 from subprocess import check_output
----> 5 print(check_output(["ls","../input"]).decode("utf8"))
1 frames
/usr/lib/python3.6/subprocess.py in run(input,timeout,check,*popenargs,**kwargs)
436 if check and retcode:
437 raise CalledProcessError(retcode,process.args,--> 438 output=stdout,stderr=stderr)
439 return CompletedProcess(process.args,retcode,stdout,stderr)
440
CalledProcessError: Command '['ls','../input']' returned non-zero exit status 2.```
解决方法
如果您的被调用进程返回了任何非零的退出代码,则会引发CalledProcessError。
如果在您的python代码中还可以,则可以除CalledProcessError之外,并从其属性(尤其是输出属性)中获取任何信息。 (在python docs中查找此错误,以获取更多信息。)
import subprocess
output = None
try:
output = subprocess.check_output(["ls","../input"]).decode("utf8")
except subprocess.CalledProcessError as e:
output = e.output
然后您可以打印这些输出。