我正努力将列表保存到.txt文件中,并将其从.txt文件读回到Python中的列表。
这是我的清单
SS1=[(1, 2, 3, 4, 5), (1, 2, 3, 4, 6), (1, 2, 3, 5, 6), (1, 2, 4, 5, 6), (1, 3, 4, 5, 6), (2, 3, 4, 5, 6)]
将每个元组以可读格式逐行保存到ABC.Txt ...不是ascii或加密。
需要另一个例程来将ABC.Txt读回Python中的列表。
这是我的代码,我无法在记事本或其他东西中读取物理文件
def List2File(MyList,fname,msg):
start_time = STime()
with open(fname, 'wb') as fp:
pickle.dump(MyList, fp)
end_time = ETime()
if (msg=='Y'):
print(fname ,'Saved.../',
return()
答案 0 :(得分:0)
只需使用numpy
:
import numpy as np
SS1 = [(1, 2, 3, 4, 5), (1, 2, 3, 4, 6), (1, 2, 3, 5, 6), (1, 2, 4, 5, 6), (1, 3, 4, 5, 6), (2, 3, 4, 5, 6)]
np.savetxt('my_file.txt', SS1)
my_new_SS1 = np.genfromtxt('my_file.txt')
print(my_new_SS1)
Out[1]: [[ 1. 2. 3. 4. 5.]
[ 1. 2. 3. 4. 6.]
[ 1. 2. 3. 5. 6.]
[ 1. 2. 4. 5. 6.]
[ 1. 3. 4. 5. 6.]
[ 2. 3. 4. 5. 6.]]
答案 1 :(得分:0)
您可以尝试这样的事情:
SS1=[(1, 2, 3, 4, 5), (1, 2, 3, 4, 6), (1, 2, 3, 5, 6), (1, 2, 4, 5, 6), (1, 3, 4, 5, 6), (2, 3, 4, 5, 6)]
def write_to_txt(a, file_name, delimiter=','):
with open(file_name, 'a') as f:
for k in a:
fmt = '%s' % delimiter
f.write(fmt.join(map(str, k)) + '\n')
def read_from_txt(file_name):
with open(file_name, 'r') as f:
data = [tuple(map(int, k.split(','))) for k in f.read().splitlines()]
return data
write_to_txt(SS1, 'ABC.txt')
data = read_from_txt('ABC.txt')
print(data)
答案 2 :(得分:0)
这应该可以解决问题:
SS1=[(1, 2, 3, 4, 5), (1, 2, 3, 4, 6), (1, 2, 3, 5, 6), (1, 2, 4, 5, 6), (1, 3, 4, 5, 6), (2, 3, 4, 5, 6)]
with open('newfile.txt','w') as fileobj:
fileobj.write('\n'.join('%s' % (x,) for x in SS1))
使用fileobj
(写入模式)为'newfile.txt'创建文件对象w
使用我们作为唯一项目,即(thetuple,)创建一个单例元组,并将其写入文件。