以与读取文件相同的方式写入文件

时间:2018-09-30 00:08:17

标签: python

标题可能有些混乱,但是我没有其他办法可以解释它。我首先要从文件中导入乐谱,然后将它们按顺序排序,然后尝试以与导入时相同的方式将它们导出回我的文件,而不是作为列表。

Here's a little sketch:
Import as ' James 120 ' into list [James, 120]
Export as James 120

这是我到目前为止所拥有的:

  def Leaderboard(User, Score):
  Scores = open("Scores.txt", "r+")
  content = Scores.readlines()

  new = []

  for i in content:
    temp = []
    newlist = i.split(" ")
    temp.append(newlist[0])
    temp.append(int(newlist[1]))
    new.append(temp)

  temp = []
  temp.append(User)
  temp.append(Score)
  new.append(temp)

  new = sorted(new, key=itemgetter(1), reverse=True)

  print(new)


  Scores.close()


  Leaderboard('Hannah', 3333)

该文件当前如下所示:

Olly 150
Billy 290
Graham 320
James 2
Alex 333

这是最终结果:

[['Hannah', 3333], ['Alex', 333], ['Graham', 320], ['Billy', 290], ['Olly', 
150], ['James', 2]]

这就是我想要将其导出到文件中的内容:

Hannah 3333
Alex 333
Graham 320
Billy 290
Olly 150
James 2

2 个答案:

答案 0 :(得分:0)

您可以使用file.read(),它将读取整个文件。我相信您可以运行contents = file.read(),因为它以字符串形式返回。还有file.readlines()返回一个字符串列表,每个字符串都是一行。

如果这不能完全回答您想要的内容,请阅读更多here

答案 1 :(得分:0)

编写代码如下:

Scores.seek(0) # go to the beginning

for name, number in new:
    print(name, number, file=Scores)