我需要一些在Python 3.5.0中执行的作业的帮助。我有一个排行榜文本文件,该文件按位置顺序显示程序的前5个得分。我需要一些帮助,将它们放入一个阵列,然后使用该阵列输出排行榜。排行榜的格式为:
1. User1, Points
2. User2, Points
3. User3, Points
4. User4, Points
5. User5, Points
预先感谢
leaderboard = []
f = open('Leaderboard.txt','r')
for i in range(1,5):
x = file.readline(i)
leaderboard[i] = x
答案 0 :(得分:0)
您使用循环的所有错误。不要假设您的文件有几行。
# leaderboard = []
f = open('Leaderboard.txt', 'r')
leaderboard = [line.replace('\n','') for line in f.readlines()]
for i in leaderboard:
print(i)
输出:
1. User1, Points
2. User2, Points
3. User3, Points
4. User4, Points
5. User5, Points
请注意,您可能应该使用with
。如果您想使用该文件而不必记住之后要关闭它:
with open('Leaderboard.txt', 'r') as f:
leaderboard = [line.replace('\n','') for line in f.readlines()]
答案 1 :(得分:0)
您提到您不擅长文件处理。首先,使用它总是很聪明:
with open("Leaderboard.txt", "r") as f:
// do something
这是内置的python方法,第一个参数是您正在访问的文件。第二个参数是您要访问文件的方式,通过加“ r”,我们指定我们要读取文件。您可以通过多种方式访问文件,“ w”表示您还希望在文件中添加内容。您还有更多,但这已经超出了这个问题。最后的“ as f”基本上将文件存储在变量中,然后您可以操纵该变量。
下一步是验证是否正确读取了数据。您可以为此使用f.read():
with open("Leaderboard.txt", "r") as f:
data = f.read()
print(data)
尝试自行找出数据变量中包含的内容。我可以告诉你这是一个字符串。现在,您可以根据自己的喜好操纵字符串了。查看其他答案以了解如何处理字符串以获取所需的输出。
您还可以使用data = f.readlines(),打印数据以查看与使用data = f.read()相比有何不同