用Makefile执行Python脚本
我正在写Python脚本,并在一个叫Makefile的文件里运行它们。这个Python脚本是用来处理数据的,像流水线一样。我希望每次我修改了Python脚本后,Makefile都能自动执行这个脚本。
有没有人知道怎么做到这一点?
3 个回答
4
如果你要运行的脚本没有生成任何可以用作目标的有用输出文件,那你可以使用一个虚拟的目标:
scripts=a.py b.py c.py
checkfile=.pipeline_up_to_date
$(checkfile): $(scripts)
touch $(checkfile)
echo "Launching some commands now."
default: $(checkfile)
22
这段信息不太多,所以回答有点模糊。Makefile的基本原则是列出每个目标的依赖关系;在这个例子中,我们的目标(我们称它为foo)依赖于你的Python脚本(我们称它为do-foo.py):
foo: do-foo.py
python do-foo.py > foo
现在,只要do-foo.py发生变化,foo就会在你调用make的时候重新运行。