我知道之前可能已经回答过这个问题,但是请检查其他答案是否与此实例相关!
我正在将数组作为字符串写入文件,以便在脚本未运行时存储它,并在运行时轻松地再次访问它。当我再次从文件中读取这个字符串时,它会自动读取为一个字符串。
我可以用for循环来解决这个问题,循环遍历保存的字符串,并将每个条目追加到一个空数组中,但这似乎有点过头了——是吗?有没有更好的方法来读取字符串并将其转换为数组?
所以。。。为了生成数组并将其作为字符串写入文件,第一次运行这样的操作:the_file = open('.the_file.txt', 'w')
the_array = [10, 20, 30, 40, 50]
the_file.write(str(the_array))
the_file.close()
下次运行代码时,将运行另一段代码,如下所示:the_file = open('.the_file.txt', 'r')
the_array = the_file.read()
the_file.close()
如果此时打印_数组变量及其类型,将得到:[10, 20, 30, 40, 50]
the_array = np.asarray(the_array)
…然后在此时打印_数组变量及其类型以检查其是否有效,以获取:[10, 20, 30, 40, 50]
但现在当我运行其余代码时,我会得到错误:TypeError: iteration over a 0-d array
追溯到我的代码的这一部分:the_array = sorted(the_array, reverse=True)
有人能帮我一下吗;python为什么认为我的数组是0-d的?