|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 kieeo 于 2017-3-23 21:08 编辑
- def open_file(file_name,n):
- f = open(file_name,'r')
- if ':' in n:
- list1 =list(n.split(':'))
- if len(list1)>2:
- print("你输入的数字不对")
- else:
- start = list1[0]
- if start=='':
- start=0
- else:
- start=int(start)
- end =list1[1]
- if end =='':
- end = len(f.readlines())
- else:
- end = int(list1[1])
- else:
- print("请输入正确的格式")
-
- count =0
-
- for line in f.readlines():
- if start<=count<=end:
- print(line)
- count+=1
- open_file("sth.txt",'1:')
复制代码
在代码的15行用 len(f.readlines()),
到下面的循环中怎么f.readlines()就为空了?
在函数open_file(file_name,n)中,其他如‘1:4’,‘:3’没问题,只有 2:出问题。
这个题目是29讲,动动手第3个问题。
http://bbs.fishc.com/thread-45487-1-2.html
把第15行代码 改为 end =999,下面的循环就又正常了,奇怪不奇怪?
你的文件应该只有一行吧file.readlines()读完这一行之后,文件定位会自动跳到下一行的开头
如果你要重新读这一行或者重头开始读取,使用file.seek(offset[, whence])函数吧文件定位回到开头吧
参考下这个http://www.runoob.com/python3/python3-file-seek.html
|
|