Python 如何从文件中读取数据并将其排序到列表中?
我制作了这段小代码,它收集了一个名字和一个高分,并将其放入一个列表中并保存到一个文件中。这是我的密码:Python 如何从文件中读取数据并将其排序到列表中?,python,python-3.2,Python,Python 3.2,我制作了这段小代码,它收集了一个名字和一个高分,并将其放入一个列表中并保存到一个文件中。这是我的密码: def main(): pass fileobj = open('c:\\newfile.txt', 'w') count = 0 player_names = [] high_scores = [] while count < 5: player_name = input('Name: ') high_sc
def main():
pass
fileobj = open('c:\\newfile.txt', 'w')
count = 0
player_names = []
high_scores = []
while count < 5:
player_name = input('Name: ')
high_score = input('High Score: ')
player_names.append(player_name)
high_scores.append(high_score)
fileobj.write(player_name + '\n')
fileobj.write(high_score + '\n')
count = count + 1
fileobj.close()
我在
print f
行上得到一个错误,但是当我取出它时,脚本运行,但没有显示任何内容。您得到了错误,因为print()
是python3中的一个函数
print(f)
这是正确的方法。另外,我没有了解pass
语句的意义。如果要打印文件的内容,请使用:
print(f.read()).
删除
print f
后,屏幕上不会显示任何内容,因为f.readline()
不会打印任何内容,它只是从当前文件指针读取文件,指向第一次出现的\n
,并将其作为字符串返回。您可以将f.readline()
赋值给某个变量,如line=f.readline()
,或者您可以直接在stdout上显示它,如print(f.readline())
尝试将最后两行替换为:
print (f.read())
或者,如果您想对每一行执行某些操作,您可以尝试:
def main():
for line in open('c:\\newfile.txt', 'r'):
#do_something_to_line
print line
看起来您正在尝试打印文件句柄,而不是文件中的数据。Pro提示:当复合语句中有其他代码时(例如函数执行某些操作),您可以安全地删除
pass
语句。您对f.readline()
调用不做任何操作;使用line=f.readline()
,然后使用print(line)
查看第一行内容。哦,是的,HP收到了,谢谢!通过是因为它在我使用的scripter应用程序中,如果我想按高分值对列表排序,该怎么办?我将如何实现这一点?
def main():
for line in open('c:\\newfile.txt', 'r'):
#do_something_to_line
print line