获取TypeError:Python 2.7中需要的float参数

时间:2018-02-07 08:04:53

标签: python-2.7

我将浮动指数值传递给python函数,然后使用它:

def estimateFit(infile, fsrmin):
    test=isfloat(fsrmin)
    print "fsrmin test for isfloat: %s" %test
    flimit = 30e9;
    print "flimit = %.3e" %flimit
    float(fsrmin)
    print "fsrmin = %.3e" %fsrmin

我从另一个python程序调用此函数:

     fsrmin = sys.argv[3]
R, I, w = srf.estimateFit(infile,fsrmin)

我总是收到这个错误:

>     print "fsrmin = %.3e" %fsrmin 
TypeError: float argument required, not str

正如你所看到的,我试图在程序中转换为float。我遗失的任何东西

1 个答案:

答案 0 :(得分:1)

您没有将fsrmin分配给float(fsrmin)。我建议你使用:

fsrmin = sys.argv[3]    # fsrmin is a str for now
fsrmin = float(fsrmin)  # here we convert to float
R, I, w = srf.estimateFit(infile,fsrmin)

语句float(fsrmin)不会更改变量fsrmin。如果字符串ValueError不能解释为float,则会引发fsrmin