自动化 Python 脚本 mac

自动化 Python 脚本 mac

我想在我的 Mac OSX 10.8.4 上设置一个 Python 脚本,让它每周一到周五(不是周日和周六)运行。从我目前发现的情况来看,我似乎想使用 cron。但在我对我的电脑进行一些可怕的操作之前,有人能确认一下这是否符合我的要求吗?

>>> crontab -e
>>> 30 4 * * 1-5 python /Users/lego90511/PycharmProjects/Stock Scanner/stock_scanner.py

如果这确实有效请告诉我,我该如何将其从 chron 中删除?

答案1

这应该可行,但请将其替换Stock ScannerStock\ Scanner。您可以通过运行并删除该行来撤消更改crontab -e。如果您尚未更改EDITOR并且不知道如何使用vi,则可以使用EDITOR=nano crontab -e

因此基本上运行crontab -e(或EDITOR=nano crontab -e)并添加如下行:

30 4 * * 1-5 python ~/PycharmProjects/Stock\ Scanner/stock_scanner.py

crontab 格式在 中描述man 5 crontab

使用 launchd,你可以保存如下 plist ~/Library/LaunchAgents/test.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>test</string>
  <key>ProgramArguments</key>
  <array>
    <string>python</string>
    <string>/Users/lego90511/PycharmProjects/Stock Scanner/stock_scanner.py</string>
  </array>
  <key>StartCalendarInterval</key>
  <array>
    <dict>
      <key>Weekday</key>
      <integer>1</integer>
      <key>Hour</key>
      <integer>4</integer>
      <key>Minute</key>
      <integer>30</integer>
    </dict>
    <dict>
      <key>Weekday</key>
      <integer>2</integer>
      <key>Hour</key>
      <integer>4</integer>
      <key>Minute</key>
      <integer>30</integer>
    </dict>
    <dict>
      <key>Weekday</key>
      <integer>3</integer>
      <key>Hour</key>
      <integer>4</integer>
      <key>Minute</key>
      <integer>30</integer>
    </dict>
    <dict>
      <key>Weekday</key>
      <integer>4</integer>
      <key>Hour</key>
      <integer>4</integer>
      <key>Minute</key>
      <integer>30</integer>
    </dict>
    <dict>
      <key>Weekday</key>
      <integer>5</integer>
      <key>Hour</key>
      <integer>4</integer>
      <key>Minute</key>
      <integer>30</integer>
    </dict>
  </array>
</dict>
</plist>

launchctl load ~/Library/LaunchAgents/test.plist然后通过运行或注销并重新登录来加载 plist 。您可以通过卸载和加载来对 plist 应用更改。

请注意,cron 和 launchd 都使用 24 小时制。如果您想要的是下午 4 点而不是上午 4 点,请将小时值替换为 16。

答案2

看一眼

这是我用于满足所有自动化需求的应用程序。我强烈推荐它。

相关内容