将list写入文件以及读取总结

将list写入txt文件

如何将list写入文件,大体上看有两种方法。

1,直接将list写入

把列表转化为str类型把整个列表都写入文件里面,如:

lists = [123, 3435, 45454]
with open("temp.txt", 'w') as f:
     f.write(str(lists))

写进去的内容为
将list写入文件以及读取总结_第1张图片
把整个列表原封不动的写进去

2,用迭代器将列表中的元素一个一个写进去

用for循环将列表中的元素写进文件里面,但是要注意写进去的内容一定要是字符串型的,否则就会报错,代码如下:

with open("temp.txt", 'w') as f:
    for item in lists:
        f.write(str(item)+" ")   #在这里就可以控制写进去的格式,以便后续的读取

将list写入文件以及读取总结_第2张图片

读取txt文件中的列表

首先要知道用 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显示转化。

你可能感兴趣的:(Python)