使用Python Fabric Library获取env.hosts列表的当前值

25 python fabric

我有这个代码(foo并且bar是本地服务器):

env.hosts = ['foo', 'bar']

def mytask():
    print(env.hosts[0])
Run Code Online (Sandbox Code Playgroud)

当然,每次迭代都会打印foo.

您可能知道,Fabric遍历env.hosts列表并以这种方式对每个列表执行mytask():

fab mytask
Run Code Online (Sandbox Code Playgroud)

task执行时foo
task执行bar

我正在寻找一种在每次迭代中获取当前主机的方法.

谢谢,

Mar*_*tos 40

使用env.host_string.您可以在此处找到完整的env变量列表.


Mor*_*gan 27

你可以这样做:

env.hosts = ['foo', 'bar']

def mytask():
     print(env.host)
Run Code Online (Sandbox Code Playgroud)

因为当您执行fab执行的任务时,您将免费获得该var.