鱼C论坛

 找回密码
 立即注册
查看: 1260|回复: 2

求助问题

[复制链接]
发表于 2019-8-18 16:48:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
fo = open("runoob.txt", "r+")
print ("文件名: ", fo.name)

str = "6:xxxxxxxxxxx"
# 在文件末尾写入一行
fo.seek(0, 2)
line = fo.write( str )

# 读取文件所有内容
fo.seek(0,0)
for index in range(6):
    line = next(fo)
    print ("文件行号 %d - %s" % (index, line))

# 关闭文件
fo.close()

这段代码运行的时候会报错:

Traceback (most recent call last):
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\py023.py", line 12, in <module>
    line = next(fo)
StopIteration

错在哪里呀?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-8-18 16:55:38 | 显示全部楼层
StopIteration 意思为停止循环,即 next 方法迭代完每一项后自动抛出的异常。所以 for 循环需要进行改动。

正确代码:


  1. fo = open("runoob.txt", "r+")
  2. print ("文件名: ", fo.name)

  3. str = "6:xxxxxxxxxxx"
  4. # 在文件末尾写入一行
  5. fo.seek(0, 2)
  6. line = fo.write( str )

  7. # 读取文件所有内容
  8. fo.seek(0,0)
  9. for index, line in enumerate(fo):
  10.     print ("文件行号 %d - %s" % (index + 1, line))

  11. # 关闭文件
  12. fo.close()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-18 21:17:27 | 显示全部楼层
for循环不好吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-5 04:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表