编写文本文件程序:从Python 2转换为Python 3



我想将其从Py2:转换

with open(path, "wb") as f1:
for i in w_vectors:
print >>f1, i, " ".join(map(str, numpy.round(w_vectors[i], decimals=6))) 

至Py3:

with open(path, "wb") as f1:
for i in w_vectors:
print (f1, i, " ".join(map(str, numpy.round(w_vectors[i], decimals=6))))

f1.close()

但它不会保存到文本文件中。我做错了什么?

在Python 3中对print使用file关键字参数。

print(i, " ".join(...), file=f1)

对于Python 2,您可以使用print来写入文件,但在Python 3中,您可以这样做:

with open(path, "wb") as f1:
for i in w_vectors:
f1.write(i, " ".join(map(str, numpy.round(w_vectors[i], decimals=6))))

并且当使用";用";因为";用";它自己处理。

最新更新