![从 bash 调用 python 时并不总是看到打印语句](https://linux22.com/image/1067562/%E4%BB%8E%20bash%20%E8%B0%83%E7%94%A8%20python%20%E6%97%B6%E5%B9%B6%E4%B8%8D%E6%80%BB%E6%98%AF%E7%9C%8B%E5%88%B0%E6%89%93%E5%8D%B0%E8%AF%AD%E5%8F%A5.png)
使用类似这样的方法:
rtncod=`./FetchTemps.py`
if [ $? -ne 0 ] ; then
echo "bad news in FetchTemps" > ./Fetch_Temps.err
fi
我从未在我的 Python 脚本中看到任何打印语句。相反,我收到一条消息,例如“命令替换,忽略空字节”或类似的消息。这些消息被吃掉了,所以我将 Python 脚本从
except BaseException as e:
print("conn.send failed:" + str(e)
使用
logger.error("conn.send failed:" + str(e)
我不再收到有关空字节的消息,但我在哪里可以找到记录器错误消息?抱歉,我是 Python 新手。我知道 =`.'" 会占用消息,因为当我运行没有分配的 Python 时,会打印消息。也许我不需要 rtrcod= 机制?$? 包含什么?它是来自异常的“e”吗?