繁体   English   中英

自动化Python脚本

[英]Automate Python Script

我正在手动运行python脚本,该脚本以JSON格式获取数据。如何自动将此脚本每小时自动运行一次?

我正在Windows7上工作。我可以使用Task Scheduler之类的工具吗?如果可以使用,我需要在批处理文件中放入什么?

我可以使用任务计划程序之类的工具吗?

是。 任何可以运行任意程序的工具都可以运行Python脚本。 选择最喜欢的一个。

如果可以使用,我需要在批处理文件中放入什么?

什么批处理文件? Task Scheduler可以带参数运行任何可以运行的东西-C程序,.NET程序,甚至是具有关联的默认应用程序的文档。 因此,没有理由需要批处理文件。 使用C:\\Python33\\python.exe (或任何适当的路径)作为可执行文件,并使用脚本的路径(及其参数(如果有))作为参数。 就像从命令行运行脚本时一样。

有关一些简单示例,请参见在MSDN中使用Task Scheduler ,以及Task Scheduler架构元素Task Scheduler脚本对象作为参考(取决于您是否要以XML创建时间表,还是通过脚本接口)。

您要创建一个ExecAction ,其Path设置为"C:\\Python33\\python.exe"Arguments设置为"C:\\MyStuff\\myscript.py" ,一个RepetitionPatternInterval设置为"PT1H" 您应该能够从那里找出其余的内容。

就像sr2222在评论中指出的那样,您经常会频繁安排计划任务,并且需要以编程方式控制其计划。 如果需要,您可以从Python控制Task Scheduler的脚本接口,或在Task Scheduler上构建一些东西,或使用其他工具,该工具从Python那里可以轻松访问并且在线获得更多有用的示例,等等。您到了这一步,退后一步,看看是否过度使用了OS任务调度。 (如果您开始添加延迟或调整时间以确保每日foo1.py作业直到最近的每小时foo0.py完成其作业之后的5分钟才运行,那么您就过度使用了OS任务调度,但并非总是如此很明显。)

我可以建议WinAutomation还是AutoMate 两者的功能完全相同,只是UI有所不同。 我更喜欢WinAutomation,因为脚本更易于构建。

是的,您可以使用任务计划程序按小时运行脚本。

要通过批处理文件执行python脚本,请使用以下代码:

start path_to_python_exe path_to_python_file

例:

start C:\Users\harshgoyal\AppData\Local\Continuum\Anaconda3\python.exe %UserProfile%\Documents\test_script.py

如果将python设置为Window的Environment Window,则可以将语法简化为:

start python %UserProfile%\Documents\test_script.py

我通常要做的是通过Task Scheduler运行一次批处理文件,并在python脚本中每小时调用一个线程/计时器。

class threading.Timer(interval,function,args = None,kwargs = None)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM