【发布时间】:2021-02-23 12:51:00
【问题描述】:
我在 python 中有浮点数列表。 我想将一些列表保存在 txt 文件中,然后按原样逐个读取它们。但是在我编写了以下代码之后,我发现 str(i) 转换了一个 str 中的每个数字。我不能像他们写的那样读他们。 Ps 我有 10,000 个结果列表,所以我想将每个列表保存在一行中。
result = [-0.33434,0.4434, 4343....]
with open("out.txt", w) as out:
for i in result:
out.write(str(i)+' ')
out.write("\n")
【问题讨论】:
-
我不明白“str(i)convert each digit in one str”是什么意思。你能举一个浮点数的例子,它是如何转换为
str的,你希望它如何转换为str?因为如果您需要读取在此代码中生成的文件,那么with open("out.txt") as inp: numbers = [[float(word) for word in line.split()] for line in inp]应该可以工作。 -
是的,因为当我执行 out.write(i) 时说我应该是要写入文件中的字符串
-
@Boris 我写的代码不能很好地保存列表,所以我需要修复它以将每个名为 result 的列表保存在 txt 文件中并逐个列表读取它们
-
您需要对代码进行一些修复:修复缩进,最后一行应以 2 个空格开头(不是一个,以便与上面的
for i in result:行匹配)和 @987654326 @ 应该是open("out.txt", "w")和w引号"w"),然后它对我有用,我得到一个文件,其中有 1 行,上面有一堆数字。还是您希望每个号码都在自己的行上?然后将倒数第二行更改为out.write(str(i)+'\n')。 -
@Boris 我需要将整个列表写在一行中,当我使用我编写的代码保存在文件中时,当我阅读它时,它会将每个数字视为单个项目列表。因为 str(i) 认为每个数字都是一个 str。我希望它很清楚
标签: python python-3.x list file