我正在编写一个程序,要求我多次遍历文件的每一行:
loops = 0
file = open("somefile.txt")
while loops < 5:
for line in file:
print(line)
loops = loops + 1
Run Code Online (Sandbox Code Playgroud)
为了简洁起见,我假设我总是需要遍历文件并打印每行5次.该代码与我在程序中实现的较长版本具有相同的问题:文件只迭代一次.之后,print(line)文件什么都不做.为什么是这样?
这是因为该file = open("somefile.txt")行仅在循环之前出现一次。这将创建一个指向文件中一个位置的光标,因此当到达第一个循环的末尾时,光标位于文件的末尾。将其移动到循环中:
loops = 0
while loops < 5:
file = open("somefile.txt")
for line in file:
print(line)
loops = loops + 1
file.close()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1174 次 |
| 最近记录: |