如何编写Makefile调用Python脚本指定函数并将结果写入文件?
如何在Makefile中调用Python脚本的特定函数并输出到文件
嗨,我来帮你搞定这个问题!要在Makefile里调用Python脚本里的特定函数,核心思路是用Python的命令行参数直接执行调用函数的代码,再把结果重定向到目标文件中。下面一步步来实现:
1. 确认你的sample.py内容
先确保你的脚本代码和描述一致:
def A(): return 3 def B(): return [i for i in range(2,10)]
2. 编写Makefile规则
你需要创建一个Makefile规则,让output.txt依赖于sample.py(这样脚本修改后,Make会自动重新生成输出文件),然后在命令里完成函数调用和输出写入。
完整的Makefile内容如下:
output.txt: sample.py python -c "from sample import B; print(B())" > $@
规则细节解释:
output.txt: sample.py:声明output.txt的依赖是sample.py,只要脚本有变动,下次执行make output.txt就会重新生成文件。python -c "from sample import B; print(B())":这是核心命令,-c参数让Python执行引号内的代码:from sample import B:从你的sample.py脚本中导入函数Bprint(B()):调用函数B并打印它的返回值
> $@:把命令的输出重定向到目标文件($@是Makefile的自动变量,代表当前规则的目标,也就是output.txt)
3. 测试运行
现在在终端执行:
make output.txt
打开生成的output.txt,就能看到函数B的输出结果:[2, 3, 4, 5, 6, 7, 8, 9]啦!
如果你的Python环境默认用python3命令,记得把Makefile里的python改成python3适配你的环境。
内容的提问来源于stack exchange,提问作者Aditya Mishra
相关产品推荐
相关产品推荐

