如何调度和自动化python脚本

2024-10-03 21:28:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我对python的开发还很在行,不过我还是在学习。 我写了一些python代码,但它们大多是一次性的,可以在命令行中运行。我仍然不知道如何自动化和调度我的代码。假设我有:

  1. 编写了一个python脚本,从API中提取一些CSV数据并将其保存在/tmp中。在
  2. 编写了另一个脚本来接收csv数据并将其转换为每行的XML。在

每次我想这样做,我都会发现自己在做:

$ python getdata.py 
$ python converttoxml.py

在shell中,我认为可以编写包装器脚本并对其进行cron。正确的?如果是这样,那么在python的世界中是如何做到的呢?请记住,我们还必须包括使用的所有python libraries/模块。在

在Linux环境下使用PyCharm开发p.S。在


Tags: csv数据代码命令行py脚本apixml
2条回答

使用crontab -e登录cron

按以下格式在“添加行”处滚动到底部: m h dom mon dow command即分钟、小时、月日、周、命令

所以如果你想每小时按小时运行你的命令

* /1 * * * * python path/to/file/getdata.py

但是如果你想让它在12点运行,那么你应该

^{pr2}$

Python文件可以被视为可执行文件。您只需要使用chmod +x my_file.py给它们执行权限,并通过添加#!/usr/bin/python作为代码文件的第一行,告诉bash应该使用哪个解释器来解析文件。在

一旦完成了这两件事,就可以使用./my_file.py运行文件,然后应该执行python脚本。在

从这一点开始,它就和任何普通程序一样,可以在cron/systemd/中使用,无论您需要什么其他用途。一旦你有了一个可以工作的Python脚本,它的处理方式应该和系统上的任何其他可执行文件没有什么不同——在这方面,就没有“Python世界”了。在

至于额外的模块,这不应该是个问题,因为Python仍将使用相同的方法来解析库位置。可能需要更新$PYTHON_PATH以添加库路径-但如果库安装正确,则不应成为问题,而对于本地目录中包含的库(仅在PYTHON无法找到它们的情况下),可以添加: sys.path.apped(os.path.dirname(__file__))到脚本的开头。在

相关问题 更多 >