|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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)
复制代码
while num2:
num2 -= 1
b += 1
f1.readline() # 去掉这行即可
while b >= num1 and a :
a -= 1
print(f1.readline())
你 while 循环里先读取了下文件对象,所以此时文件指针移动到第二行开头
|
|