ValueError:格式为零的长度为零的字段名称
可能重复:
Python 3.0,3.1,3.2中的“ValueError:零长度字段名称格式”错误
我花了几个小时试图解决这个问题,但无济于事。 我读了这个指南 。 我还没有find任何例子如何去做我所需要的。
当我运行脚本,我得到这个错误(部分省略):
Traceback (...): [...] output.write("{: > 026,.18e} {: > 026,.18e}\n".format(x,y)) ValueError: zero length field name in format.
代码是用python 2.6或2.7编写的,但我运行python 3.1。 我怎么需要改变输出格式,以便它能工作?
def f(x,y,a = 0.01): return y/(a+x)-y**3 def ekspEuler(N,dat): output = open(dat,"w") h = 3.0/N x,y = 0,1 #zac.pogoj for i in range(1,N+2): output.write("{: > 026,.18e} {: > 026,.18e}\n".format(x,y)) y += h*f(x,y) x = i*h output.close()
谢谢你的帮助。
有可能你正在运行一个旧的Python版本,而不是3.1。 在Python 2.6中,您需要格式规格的索引,如下所示:
"{0} {1}\n".format(x,y)
更新你的Python版本到最近的版本,最好是2.7或3.2,以解决这个问题。 根据文档,忽略数字索引应该在Python 3.1中工作 :
在版本3.1中更改:位置参数说明符可以省略,因此“{} {}”等同于“{0} {1}”。