我的shell脚本运行一个python任务管理器模块,最后生成一个.png文件。然后shell脚本将.png文件发送给我。如果我单独运行这些任务,它们很好,但是将它们组合在同一个.sh中会导致一封带有空附件的电子邮件。你知道吗
python的尾部:
fig = plt.figure()
ax2 = fig.add_subplot(111)
ax2.scatter(goodRIDs.ASL75,goodRIDs.closet_count_per_slot,
color='green',alpha=0.2)
ax2.scatter(badRIDs.ASL75,badRIDs.closet_count_per_slot,
color='red',alpha=0.5)
plt.savefig('todaysASL'+str(pct)+'chart.png')
path = os.getcwd()
os.chdir(path+'/ASLgraphs')
plt.savefig(today+'ASL'+str(pct)+'vClosetperSlot.png')
以及shell脚本:
. venv/bin/activate
file=/home/todaysASL75chart.png
file1=/home/todaysASL95chart.png
python ~/WeeklyRIDTrendFinder.py 75 > $file
python ~/WeeklyRIDTrendFinder.py 95 > $file1
(echo "Today's ASL chart for the past week" ; uuencode $file ; uuencode $file1 )
| mail -s "Weekly ASL Chart" -r "from@email.com" me@email.com
这是不是有什么问题?我试过了平齐(),但显然绘图模块的行为不像文件。你知道吗
原来这是一个标准输出与文件保存的问题,shell脚本接受python打印的内容,并将其保存在file和file1中。然而,Python保存文件而不打印任何内容,因此shell脚本不收集任何内容并保存它。你知道吗
将shell脚本更改为:
使它工作得很好
在图表创建和电子邮件创建之间是否可能需要延迟?也许试着延迟2秒钟,看看会发生什么。我以前见过用脚本解决问题,可能值得一试。你知道吗
可能
savefig
没有正确关闭文件(并且依赖于垃圾收集器)。试试这个:相关问题 更多 >
编程相关推荐