我如何写一个列表文件?writelines()不插入换行符,所以我需要这样做:
f.writelines([f"{line}\n" for line in lines])
我如何写一个列表文件?writelines()不插入换行符,所以我需要这样做:
f.writelines([f"{line}\n" for line in lines])
当前回答
你还可以通过以下步骤:
例子:
my_list=[1,2,3,4,5,"abc","def"]
with open('your_file.txt', 'w') as file:
for item in my_list:
file.write("%s\n" % item)
输出:
在your_file.txt中,项目的保存方式如下:
1
2
3
4
5
abc
def
您的脚本也按上述方式保存。
否则,你可以用泡菜
import pickle
my_list=[1,2,3,4,5,"abc","def"]
#to write
with open('your_file.txt', 'wb') as file:
pickle.dump(my_list, file)
#to read
with open ('your_file.txt', 'rb') as file:
Outlist = pickle.load(file)
print(Outlist)
输出: [1,2,3,4,5, 'abc', 'def']
它保存转储列表,就像一个列表,当我们加载它时,我们能够读取。
同样由simplejson可能输出与上面相同的结果
import simplejson as sj
my_list=[1,2,3,4,5,"abc","def"]
#To write
with open('your_file.txt', 'w') as file:
sj.dump(my_list, file)
#To save
with open('your_file.txt', 'r') as file:
mlist=sj.load(file)
print(mlist)
其他回答
在Python3中你可以使用这个循环
with open('your_file.txt', 'w') as f:
for item in list:
f.print("", item)
with open ("test.txt","w")as fp:
for line in list12:
fp.write(line+"\n")
另一种迭代和添加换行符的方法:
for item in items:
filewriter.write(f"{item}" + "\n")
序列化列表到文本文件与逗号分隔值
mylist = dir()
with open('filename.txt','w') as f:
f.write( ','.join( mylist ) )
设avg为列表,则:
In [29]: a = n.array((avg))
In [31]: a.tofile('avgpoints.dat',sep='\n',dtype = '%f')
您可以根据自己的需求使用%e或%s。