我目前正在尝试创建一个简单的随机浮点数列表,将其保存在文本文件中,然后使用numpy
加载numpy.loadtxt
的浮点数列表。
出于某种原因,每当使用loadtxt
时,它都会声明该文件为空。
/usr/local/lib/python3.4/dist-packages/numpy/lib/npyio.py:891: UserWarning: loadtxt: Empty input file: "mydata1.txt"
warnings.warn('loadtxt: Empty input file: "%s"' % fname)
[ ]
class 'numpy.ndarray'
以下是代码示例:
import numpy
import scipy
import matplotlib
from random import random
import codecs
floats = list(random() for i in range (10))
fp = open('mydata1.txt','w')
for item in floats:
str_item="{0:.5f}".format(item)
fp.write("%s\n" % str_item )
fp.close
floats2 = numpy.loadtxt("mydata1.txt",dtype="str", delimiter="\n")
for myfloat in floats2:
print("my floats is:",myfloat)
print(floats2)
print(type(floats2))
答案 0 :(得分:0)
变化:
fp = open('mydata1.txt','w')
for item in floats:
str_item="{0:.5f}".format(item)
fp.write("%s\n" % str_item )
fp.close
成:
with open('mydata1.txt','w') as fp:
for item in floats:
fp.write("{0:.5f}\n".format(item))
它应该有用。
with open()
打开文件,并在您提交代码后立即将其关闭。
您的fp.close
未关闭该文件,因为您缺少括号。它应该是:fp.close()
。默认情况下,文件以缓冲模式打开。因此,如果您不刷新或关闭文件,则不会将所有数据写入您的文件。