我正在尝试将输出写入文件。

import time
start_time = time.clock()
import os
completeName = os.path.abspath("New Volume (F:)/New Innings/eigenvalues .txt")
file = open("eigenvalues.txt", "w")
import sympy as sp
from sympy.matrices import *
k1,k2,k3,k4,k5,x,z = sp.symbols('k1,k2,k3,k4,k5,x,z')
I=Matrix([[-k5*(k1+k3),k2,k3*x+k4],[k2,-k2,0],[-k3*z,0,-k3*x-k4]])
Z=I.eigenvals()
print Z
file.write("%float\n" % Z)
file.close()
print time.clock() - start_time, "seconds"


但是我得到一个错误对应

file.write("%float\n" % Z)


其中说

TypeError: float argument required, not dict

最佳答案

正如评论中已经指出的那样,您正在使用%格式化字符串,但是您正在传递字典作为参数。 %float期望一个浮点数,但是您给了它dict Z

要解决此问题,可以改用.format方法,这样您的file.write变为

file.write("{}\n".format(Z))

关于python - 错误:需要浮点参数,而不是dict,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25908935/

10-11 07:42