如何将list写入文件,大体上看有两种方法。
把列表转化为str类型把整个列表都写入文件里面,如:
lists = [123, 3435, 45454]
with open("temp.txt", 'w') as f:
f.write(str(lists))
用for循环将列表中的元素写进文件里面,但是要注意写进去的内容一定要是字符串型的,否则就会报错,代码如下:
with open("temp.txt", 'w') as f:
for item in lists:
f.write(str(item)+" ") #在这里就可以控制写进去的格式,以便后续的读取
首先要知道用 read(), readline()等方式读取的内容都是字符串型的,如果想要转化为原本的,或者其他格式的操作就要改变其的格式。
以上述的第二种写入方式为例,读取出来其中的内容,然后去除首尾的空格和换行,再根据其间隔方式转化为内容为字符型的列表,如果需要原本int型的内容就需要用map()函数进一步转化。
with open("temp.txt", 'r') as f:
for line in f.readlines():
cur = line.strip().split(" ") #根据间隔符划分列表并返回
print(cur)
floatLine = list(map(int, cur)) # 这里使用的是map函数直接把数据转化成为int类型
需要注意的是在python3中map()返回的不再是一个列表,而是一个iterator需要用list显示转化。