如何将这个元组改回字符串以写入文件?

时间:2019-03-10 13:48:51

标签: python-3.x list file text tuples

我已经将名为“ HighScores.txt”的文本文件的内容更改为列表,并使用以下代码对其进行了排序:

scores = []

with open("HighScores.txt") as f:
    for line in f:
        name, score = line.split(',')
        score = int(score)
        scores.append((name, score))

scores.sort(key=lambda s: s[1])

文本文件如下所示:

谢谢,11

jayda,15

克里斯,十二岁

如何将此列表重新转换为字符串,以便可以将其写回到txt文件中?

该修补程序的第一个实施是:

f = open("HighScores.txt", 'r+')

for t in ((name, score)):
    f.write(' '.join(str(s) for s in t) + '\n')

错误:

File "C:\Users\samiv\Desktop\Computer Science-20190310T115417Z-001\Computer Science\Coding Project - Copy.py", line 102, in game
f.write(' '.join(str(s) for s in t) + '\n')

TypeError:“ int”对象不可迭代

1 个答案:

答案 0 :(得分:0)

尝试在最后一行之后添加此代码:

lines = []
for tup in scores:
    s = tup[0] + ', ' + str(tup[1]) + '\n'
    lines.append(s)

with open('result.txt', 'w') as f:
    f.writelines(lines)

要按降序排列更改参数,如下所示:

scores.sort(key=lambda s: s[1], reverse=True)