gpt4 book ai didi

python - 每天运行一次 Python 脚本(访问互联网)的最简单方法是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 18:07:45 26 4
gpt4 key购买 nike

我编写了一个简单的脚本,可以解析网络上的一些内容并将其通过电子邮件发送给我。很简单。但我开始意识到,实现这一点将比实际情况要困难得多。

我真正想做的就是每天运行这个脚本一次。

我已经探索过使用 Google App Engine,但它不喜欢 smtplib 使用 ssl 登录我的 gmail 来发送电子邮件。

我正在考虑使用 Heroku,但这对于如此简单的事情来说似乎需要大量工作。

我尝试使用我的树莓派,但我不确定退出 ssh 时脚本是否仍在运行。我考虑过在 cron 作业上运行脚本,但我不确定这是一个优雅的解决方案。

我考虑运行 applescript从我的日历中,但我不确定如果我的计算机关闭和/或离线会发生什么。

我的问题是:这里有一个简单、优雅、容易的解决方案吗?

最佳答案

当您从 session (./script.py 或 python script.py)启动脚本时,它会在您断开连接时停止运行。如果您出于某种原因想以这种方式运行脚本,我建议使用 tmux 。

如果您的 Pi 使用 Raspian 或其他基于 Debian 的发行版:

$ apt-get install tmux
$ tmux
# disconnect from your tmux session with pressing CTRL+B and (after that) D
# to reattach to your session later, use
$ tmux attach

我建议使用 cron。如果您想在特定时间(例如每天凌晨 1 点)运行它,只需在 /etc/cron.d/ 中添加这样的文件,如下所示:

$ echo "0 1 * * * python /path/to/your/script.py > /dev/null 2>&1" > /etc/cron.d/script-runner
# and don't forget to make it executable
$ chmod +x /etc/cron.d/script-runner

Wikipedia对格式(以及 @hourly 和 @daily 等快捷方式)有很好的解释。

如果您不关心它具体何时运行,您可以将脚本放入 /etc/cron.daily/ 中。不要忘记 chmod +x 使其可执行。

如果您不想在其中一台机器上运行它,您还可以在 uberspaces 之一上获取 shell。服务器。你可以支付任何你想要的费用(至少 1 欧元/月),并且你会得到一个具有 10GB 存储空间的 Linux 盒子(第一个月免费测试,当你不付款时会自动取消,没有附加条件) 。我确信还有很多其他类似的服务,我只是提到它,因为它是一种便宜且支持良好的服务。您还可以获得一个域名(..uberspace.de)并可以从服务器发送邮件(例如使用 mail)。因此无需使用 Gmail 帐户。

编辑:重读“python”部分。将所有内容更改为 .py。在脚本中使用 #!/usr/bin/env python3 (或 2.7),或者通过 python scriptname.py 启动脚本。

关于python - 每天运行一次 Python 脚本(访问互联网)的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26523638/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com