[英]readline() only reading the first line
我正在尝试读取文件中的多行,但是当我将readline()
方法分配给变量时,它似乎不起作用。 它继续打印第一行。 仅当我未将其分配给变量时,它才似乎有效。 有任何想法吗?
我正在使用Python 3.6.2。 这是我的代码:
# This is it not working ( I omitted the 'gradesfile_path' variable)
gradesfile = open(gradesfile_path,'r')
readgrades = gradesfile.readline()
print(readgrades)
print(readgrades)
# This is working when I don't call the variable
print(gradesfile.readline())
print(gradesfile.readline())
print(gradesfile.readline())
readline()
读取单个线-在由返回的迭代器的上下文中的下一行open()
。 并且您将读取的行分配为变量readgrades
,它将始终包含该行。
也许您打算将方法分配给变量并调用该变量:
readgrades = gradesfile.readline ##Note the absence of call
然后,您可以执行以下操作:
readgrades()
当您将gradesfile.readline()
分配给变量时,实际上是在读取一行并将该行存储到变量中
readline()假定逐行读取整个文件,所以我相信您需要在每次需要读取一行时都继续调用它,并且如果不限于使用readline(),那么可以实现您的目标使用:
read() :-将一次读取整个文件
readlines() :-将读取整个文件并将其放入python列表
with open('file_name', 'r') as file_obj:
print file_obj.readlines()
要么
with open('file_name', 'r') as file_obj:
some_var = file_obj.readlines()
print some_var
要么
with open('file_name', 'r') as file_obj:
print file_obj.read()
要么
with open('file_name', 'r') as file_obj:
some_var = file_obj.read()
print some_var
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.