因此,我编写了一个脚本来汇总一些新闻通讯并通过 Telegram 发送给我。该脚本本身运行完美。现在我尝试每天早上 7 点通过 Ubun 上的 crontab 运行此脚本...
因此,我编写了一个脚本来汇总一些新闻通讯并通过 Telegram 发送给我。该脚本本身运行完美。现在,我尝试每天早上 7 点通过 Ubunutu 服务器上的 crontab 运行此脚本。日志文件看起来不错,我在脚本中使用的每个 print() 都正常显示而没有错误,但它不会发送消息。
我的 Crontab 命令:
00 12 * * * DISPLAY=:0 /usr/bin/python3 /root/data/App/Briefing/main.py >> /home/main.log &2>1
Python 脚本:
主程序
import ai as AiHandler
import mail as MailHandler
import send as Telegram
import pandas as pd
from datetime import date
def start():
files = MailHandler.scanEmails()
files = AiHandler.summarize(files)
print(files)
data = pd.read_csv('checkpoint.csv', sep=';')
checkpoint = createMsg(data)
s = f"morgentliches Briefing vom {date.today().strftime("%d.%m.%Y")}".replace(".", "\\.")
s += "\n\n\n *Die* *Lage* *am* *Morgen* *\\-* *Spiegel*\n\n\n" + createMsg(pd.read_csv('spiegel.csv', sep=';'))
s += "\n\n\n *Berlin* *\\-* *Tagesspiegel* *Checkpoint*\n\n\n" + checkpoint
s += "\n\n\n *Tech* *Update* *\\-* *ManagerMagazin* \n\n\n" + createMsg(pd.read_csv('manager.csv', sep=';'))
Telegram.sendMessage(s)
def createMsg(data):
s = ""
for i in range(5):
thema = data['Thema'][i].replace('*', '\\*')
zsm = data['Zusammenfassung'][i].replace('*', '\\*')
s += "\t" + "*" + thema + "*" + "\n"
s += zsm + "\n"
s = s.replace("-", "\\-")
s = s.replace(".", "\\.")
s = s.replace("(", "\\(")
s = s.replace(")", "\\)")
#s = s.replace("*", "\\*")
s = s.replace("!", "\\!")
return s
start()
发送.py
import telebot
def sendMessage(msg):
bot = telebot.TeleBot("XXXXXX")
bot.send_message(chat_id="@morgenbriefing", text=msg, parse_mode="MarkdownV2")
我尝试将 DISPLAY:=0 添加到 crontab 命令中,但没有帮助
我试图将空间天气指数可视化为轮廓填充图,其中 x 轴为日期,y 轴为小时,值为 dst。到目前为止,我已经使用我的代码成功创建了以下图:......
我试图将空间天气指数可视化为轮廓填充图,其中 x 轴为日期,y 轴为小时,值为 dst。
到目前为止,我已经使用我的代码成功创建了以下图表:
注意:dst 是根据链接中给出的数据集创建的数据透视表: https://drive.google.com/file/d/1cz5i2n6zGGsQVDejRpteai8Zs07_58vL/view?usp=sharing
fig, axes = plt.subplots(nrows=2, figsize=(8,5), )
ct = axes[0].contourf(dst, cmap="coolwarm_r", extend="both", )
ct_kp = axes[1].contourf(kp, cmap="coolwarm", extend = "both")
add_colorbar(fig, axes[0], ct, "nT")
add_colorbar(fig, axes[1], ct_kp, "kp")
for ax in axes:
ax.set_ylabel("Hour")
ax.axvline(30, color="black", linestyle="--")
axes[1].set_xticklabels(["-30", "-25", "-20", "-15", "-10", "-5", "EQ", "5", "10", "15"]);
axes[1].set_xlabel("Days")
fig.tight_layout()
现在我想在 x 轴上设置日期,每个主要刻度之间间隔 5 天,但无法这样做。
以下是我迄今为止尝试过的!
import matplotlib.dates as mdates
ax.set_xticks(dst.columns)
但由于某些原因,我得到了以下数字: