鱼C论坛

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

[已解决]第029讲:文件:一个任务

[复制链接]
发表于 2020-10-13 23:19:08 | 显示全部楼层 |阅读模式

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

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

x
求助大神,这是29讲课后作业第三题,我做出来的结果没有第一行的字,尝试了很久都没解决,有没有大神花一点时间帮我看看。
name = input('请输入要打开的文件:')
f1 = open('E:/'+ name,'r',encoding ='utf-8')
result = []
def add(name,num1,num2,result):
    print('文件%s%s'%(name,result))
    b = -1
    a =(num2 - num1)
    while num2:
        num2 -= 1
        b += 1
        f1.readline()
        while b >= num1 and a :
            a -= 1
            print(f1.readline())
    f1.close()
num = input('请输入需要显示的行数【格式如 13:21 或 :21 或21:】:')
(num1,num2) = (num.split(':',1))
lenth = len(open('E:/record.txt','r',encoding='utf-8').readlines()) 

if num1 == ' ' and num2 != ' ':
    result = ('从开始到%s行的内容为:'%num2)
if num1 != ' ' and num2 == ' ':
    result = ('从%s行到结尾的内容为:'%num1)
if num1 != ' ' and num2 != ' ':
    result = ('从%s行到%s行的内容为:'%(num1,num2))
if num1 == ' ' and num2 == ' ':
    result = ('全文的内容为:')
if num1 == ' ':
    num1 = 0
if num2 == ' ':
    num2 = int(lenth)    

num1 = int(num1) -
num2 = int(num2)
add(name,num1,num2,result)
最佳答案
2020-10-13 23:23:57


while num2:
        num2 -= 1
        b += 1
        f1.readline()    # 去掉这行即可
        while b >= num1 and a :
            a -= 1
            print(f1.readline())


你 while 循环里先读取了下文件对象,所以此时文件指针移动到第二行开头


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-13 23:23:57 | 显示全部楼层    本楼为最佳答案   


while num2:
        num2 -= 1
        b += 1
        f1.readline()    # 去掉这行即可
        while b >= num1 and a :
            a -= 1
            print(f1.readline())


你 while 循环里先读取了下文件对象,所以此时文件指针移动到第二行开头


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-10-14 12:30:49 | 显示全部楼层
Twilight6 发表于 2020-10-13 23:23
你 while 循环里先读取了下文件对象,所以此时文件指针移动到第二行开头

哦~搞懂了,谢谢大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-18 09:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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