以下是我在终端中所做的事情:
>>> file1 = open('file1.txt', 'r')
>>> file1.read()
'Content 1'
>>> new_file1 = file1.read()
>>> print(new_file1)
为什么当我直接在file1上使用.read()命令时,我得到文件的内容,但是当我尝试将输出保存到变量时,我得到一个空字符串?
答案 0 :(得分:1)
file
是迭代器,读取文件会耗尽迭代器。换句话说,第一个read()
使用它。
要再次读取同一文件,您可以关闭然后重新打开文件,或将文件的内部指针移回开头:file1.seek(0)
NB file
这种方式很特别;大多数迭代器都无法重置。