Python Fabric Prompt Not Storing Var

时间:2016-02-24 15:58:30

标签: python while-loop fabric

这里有个奇怪的问题。如果我使用fabric.operations.prompt来获取变量的值,它似乎存储它就好了。但是,它让我的while循环感到困惑。

以下是手动设置变量的代码:

def test():
    #var1 = fabric.operations.prompt("Var1:")
    var1 = 3
    var2 = 1
    while (var1 > var2):
        print("hi")
        var2 = var2 + 1
        print("var2: %s" % var2)
        print("var1: %s" % var1)

毫不奇怪,输出是:

[me@host]$ fab test
hi
var2: 2
var1: 3
hi
var2: 3
var1: 3

Done.

但是,如果我将我的代码更改为:

def test():
    var1 = fabric.operations.prompt("Var1:")
    var2 = 1
    while (var1 > var2):
        print("hi")
        var2 = var2 + 1
        print("var2: %s" % var2)
        print("var1: %s" % var1)

输出如下所示。我尽快抓住它,它执行得非常快。

var1: 3
hi
var2: 34567
var1: 3
hi
var2: 34568
var1: 3
hi
var2: 34569
var1: 3
hi
var2: 34570
^C
Stopped.

这个循环告诉我3 > 34570。那不是真的。我认为这是特定于结构的,并且具有.prompt操作。

这必须是变量,我无法手动设置。

0 个答案:

没有答案