鱼C论坛

 找回密码
 立即注册
查看: 1200|回复: 4

[已解决]第29课动动手第二题,加了个功能后就显示不出了

[复制链接]
发表于 2018-3-15 17:00:54 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 D_Soap 于 2018-3-15 17:04 编辑

问题如标题~

手多多中间加了个判断输入显示的行数是否超过最大行数,不料却不能显示了

效果如图:
1521104383(1).jpg

代码如下:
def read_front_lines(file_path, lines):

    f = open(file_path, "r")
    fl = list(f)
    f_line = len(fl)
    if lines > f_line:
        print("输入行数大于文件存在的行数!默认读全文!")
        lines=f_line
    print("文件%s的前%d行的内容如下:" % (file_path, lines))
    for i in range(lines):
        print(f.readline())
    f.close()


f_path = input("请输入要打开的文件路径:")
line_f = int(input("请输入要显示前几行:"))
read_front_lines(f_path, line_f)


只要把红框部分删除却可以正常显示.......
这是为啥呢~?

最佳答案
2018-3-15 17:09:10
fl = list(f)时,已经到了文件末尾,再readline就没有内容了。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-3-15 17:09:10 | 显示全部楼层    本楼为最佳答案   
fl = list(f)时,已经到了文件末尾,再readline就没有内容了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-15 17:12:11 | 显示全部楼层
冬雪雪冬 发表于 2018-3-15 17:09
fl = list(f)时,已经到了文件末尾,再readline就没有内容了。

感谢~~
加上f.seek(0,0)就行了~
谢谢~~~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-15 17:16:35 | 显示全部楼层
D_Soap 发表于 2018-3-15 17:12
感谢~~
加上f.seek(0,0)就行了~
谢谢~~~

还有一个办法,开始已读到列表中,就直接打印列表中的内容就可以了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-15 17:20:07 | 显示全部楼层
冬雪雪冬 发表于 2018-3-15 17:16
还有一个办法,开始已读到列表中,就直接打印列表中的内容就可以了。

好的~~我两种方法都试试~~感谢~~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-8 16:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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