如何按时执行python脚本?

如何按时执行python脚本?,python,automation,Python,Automation,我的机器上有两个Python脚本,我希望在特定时间段每天执行两次。如何使此任务自动化?由于我将离开家,因此有一段时间我的电脑,我想上传到一个网站,并从那里自动执行,我什么也不做 我怎样才能做到这一点呢?如果您在Linux机器上,可以使用cron。Cron是一个系统守护进程,用于在特定时间执行特定任务 cron的工作原理是crontab,它是一个文本文件,包含在指定时间运行的命令列表。它遵循特定的格式,可以在man 5 crontab crontab的格式 每个部分由一个空格分隔,最后一个部分中有

我的机器上有两个
Python脚本
,我希望在特定时间段每天执行两次。如何使此任务自动化?由于我将离开家,因此有一段时间我的电脑,我想上传到一个网站,并从那里自动执行,我什么也不做


我怎样才能做到这一点呢?

如果您在Linux机器上,可以使用
cron
。Cron是一个系统守护进程,用于在特定时间执行特定任务

cron
的工作原理是
crontab
,它是一个文本文件,包含在指定时间运行的命令列表。它遵循特定的格式,可以在
man 5 crontab

crontab的格式 每个部分由一个空格分隔,最后一个部分中有一个或多个空格。第1-5节内不允许有空格,仅在它们之间。第1-5节用于说明您希望任务执行的时间和频率。这是cron作业的布局方式:

分钟(0-59),小时(0-23,0=午夜),日(1-31),月(1-12),工作日(0-6,0=周日),命令

01 04 11/usr/bin/somedirectory/somecommand

上面的示例将在1月1日凌晨4:01以及1月的每个星期一运行/usr/bin/somedirectory/somecommand。可以使用星号(*),以便使用时间段的每个实例(每小时、每个工作日、每个月等)。代码:

01 04***/usr/bin/somedirectory/somecommand

上面的示例将在每个月的每天上午4:01运行/usr/bin/somedirectory/somecommand

逗号分隔的值可用于在一个时间段内运行特定命令的多个实例。破折号分隔值可用于连续运行命令。代码:

01,31 04,05 1-15 1,6*/usr/bin/somedirectory/somecommand

上述示例将在每年1月1日至6月15日凌晨4:00和5:00之后的01和31日运行
/usr/bin/somedirectory/somecommand

上述示例中的“/usr/bin/somedirectory/somecommand”文本表示将在指定时间运行的任务。建议使用上述示例中所示的所需命令的完整路径。在终端中输入
哪个somecommand
,以查找somecommand的完整路径。crontab将在正确编辑和保存后立即开始运行

您可能希望在每个时间单位内运行脚本若干次。例如,如果您希望每10分钟运行一次,请使用以下crontab条目(运行时间可被10整除:0、10、20、30等)

*/10****/usr/bin/somedirectory/somecommand

这也相当于更加繁琐


0,10,20,30,40,50****/usr/bin/somedirectory/somecommand
如果您使用的是OSX,则是安排任务的首选方式。有一个用于launchd的OSX CLI名为,但如果您喜欢GUI,我的首选是。

在Windows中,我提出了两种解决方案

第一个选项:创建一个.bat文件。 步骤1

创建.bat文件以指示要运行的命令和将执行的脚本文件,例如:

start C:\Users\userX\Python.exe C:\Users\userX\PycharmProjects\Automation_tasks\create_workbook.py
步骤2

打开任务计划程序并单击任务计划程序库以查看当前执行的任务。单击创建任务选项

步骤3

在“常规”选项卡中,输入新任务的名称,然后单击选项“无论用户是否登录都运行”,选中选项“以最高权限运行”,并确保设置适当版本的操作系统(在我的例子中,我选择了
Windows 7,Windows Server 2008 R2

步骤4

在“操作”选项卡中,单击“新建”按钮并键入以下内容:

程序/脚本中需要查找任务计划程序将调用以运行.bat文件的Powershell路径。在我的情况下,我的Powershell路径是:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

添加参数(可选)中,您需要键入将由Powershell执行的文件的路径。在我的例子中,路径是:

C:\Users\userX\Desktop\run\u bat\u文件.bat

开始位置(可选)中,您需要键入文件的路径,但不需要.bat文件的名称,即:

C:\Users\userX\Desktop\

步骤5

单击触发器选项卡并选择执行此任务的频率

步骤6

最后,通过从任务调度器库中选择任务并单击运行选项,测试任务是否真正起作用

第二个选项:使用任务调度器运行.py文件 步骤1

打开任务计划程序并单击任务计划程序库以查看当前执行的任务。单击创建任务选项

步骤2

在“常规”选项卡中,输入新任务的名称,然后单击选项“无论用户是否登录都运行”,选中选项“以最高权限运行”,并确保设置适当版本的操作系统(在我的例子中,我选择了
Windows 7,Windows Server 2008 R2

步骤3

在“操作”选项卡中,单击“新建”按钮并键入以下内容:

程序/脚本中需要查找任务计划程序将调用以运行Python脚本的Python.exe路径。在我的示例中,我的Python.exe路径是:
C:\Users\userX\python.exe

添加参数(可选)中,只需键入python的名称