|
4鱼币
请问各位大神,我这个代码最后会打印出很多个空行,行数是对的,但是内容是空白,怎么回事呀?
ps:已检查文档编码格式,就是UTF-8
- def printsome(file_name,a,b):
- f = open(file_name,encoding = 'UTF-8')
- listf = list(f)
- count = 1
- if a == '':
- a = 1
- if b == '':
- b = len(listf)
- a = int(a)
- b = int(b)
- print('文件%s的从第%s行到第%s行的内容如下:' % (file_name,a,b))
- while count < a:
- f.readline()
- count += 1
- while count <= b:
- print(f.readline())
- count += 1
- f.close()
-
- file_name = str(input('请输入要打开的文件:'))
- input0 = str(input('请输入需要显示的行数【格式如13:21或:21或21:】'))
- (a,b) = input0.split(':')
- printsome(file_name,a,b)
复制代码
你源代码列表化文件会将文件指针跳到后面了,要不然你就用seek跳回开头
方法一
- f = open(file_name, encoding='UTF-8')
- count = 1
- if a == '':
- a = 1
- if b == '':
- b = len(list(f)) # 方法一
复制代码
方法二
- f = open(file_name, encoding='UTF-8')
- listf = list(f)
- f.seek(0, 0) #方法二
- count = 1
- if a == '':
- a = 1
- if b == '':
- b = len(listf)
复制代码
|
最佳答案
查看完整内容
你源代码列表化文件会将文件指针跳到后面了,要不然你就用seek跳回开头
方法一
方法二
|