python - 来自其他 python 脚本的 PyInvoke 执行任务

标签 python python-3.x pyinvoke

我正在阅读 pyinvoke docs我正在寻找任何简单的方法来从其他 python 脚本执行调用任务。任务没有运行方法,所以我无法导入它们,只能导入 .run()。我发现有 Executor Class但我如何理解我需要首先声明任务集合然后我可以从脚本运行其中一个任务。也许有另一种方法可以从其他不是任务的 python 脚本中最简单地做到这一点?

最佳答案

重点是“任务也是一个python函数”,所以你可以通过调用任务函数来调用任务,如下所示:

a.py中定义一个任务函数test

#a.py
from invoke import task
@task
def test(c):
    print("hello, I'm a-test!")

导入模块a并调用a.test()函数执行任务。

#tasks.py
from invoke import task
import a
@task
def executeatest(c):
    print('executing [a-test] task defined in "a.py"')
    a.test(c)

当你执行inv executeatest时,结果:

executing [a-test] task defined in "a.py"
hello, I'm a-test!

关于python - 来自其他 python 脚本的 PyInvoke 执行任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52188164/

相关文章:

python - 将列表的字符串表示形式转换为数据框列中的列表

python - 类重复输入对象

python - python中的数据帧值比较

python - 当 np.nan 设置为默认值时,为什么 np.select 返回 'nan' 作为字符串而不是 np.nan?

Python 调用 - 找不到任何名为 'tasks' 的集合!

python - 如何在 python 3 中打印到标准输出?

python - 使用 turtle 模块 exitonclick()

python - 启用 WhiteNoise 时,“collectstatic”命令失败

python - 我如何让 pyinvoke 使用 python3?