第029讲 | 第3题
本帖最后由 翌翼 于 2020-9-1 23:39 编辑F_name = input('请输入需要打开的文件(带路径):')
F_line = input('请输入需要显示的行数(格式如XX:XX或:XX或XX:):')
F = open(F_name)
(begin,end) = F_line.split(':')
if begin == '':
begin = 1
if end == '':
end = -1
if begin == 1 and end == -1:
prompt = '的全文'
elif begin == 1:
prompt = '从开始到第%s行的' % end
elif end == -1:
prompt = '从第%s行到末尾的' % begin
else:
prompt = '从第%s行到%s行的' % (begin,end)
begin = int(begin) - 1
end = int(end)
lines = end - begin
for i in range(begin):
F.readline()
print('该文件%s内容如下:' % prompt)
if lines < 0: # 为什么此处输入行数“3:”还是能够正确打印呢?我的理解应该是打印全文才对(lines=-1-2=-3<0)
print(F.read())
else:
for j in range(lines):
print(F.readline)
F.close()
对lines < 0处的代码不是很能理解,请各路大神不吝赐教。 在执行到第25,26行的时候,文件指针已经移到了begin的位置,只不过没有print出来 也即:无论end在哪儿,打印永远从being开始
看下这里,全部注释了哈
Python FAQ 052 第 029 讲相关问题
https://fishc.com.cn/thread-177353-1-1.html
(出处: 鱼C论坛)
Twilight6 发表于 2020-9-2 08:27
看下这里,全部注释了哈
Python FAQ 052 第 029 讲相关问题
大哥,给新人一条活路吧{:10_266:} 昨非 发表于 2020-9-2 08:38
大哥,给新人一条活路吧
呃,我最近都没怎么答了 Twilight6 发表于 2020-9-2 08:44
呃,我最近都没怎么答了
{:10_266:}{:10_266:}我问一下哈,像这种前人整理的帖子链接,你是直接收藏了,还是记住的啊 昨非 发表于 2020-9-2 08:47
我问一下哈,像这种前人整理的帖子链接,你是直接收藏了,还是记住的啊
这个帖子里面就是我回答的{:10_257:},最后有个 FROM 我看到了,但是那位版主好像有一系列的课后题解析,(应该是个淘专辑)这个感觉可以直接收藏拿来用 昨非 发表于 2020-9-2 08:16
在执行到第25,26行的时候,文件指针已经移到了begin的位置,只不过没有print出来
感谢大佬 Twilight6 发表于 2020-9-2 09:03
这个帖子里面就是我回答的,最后有个 FROM
感谢大佬,帖子很详细{:5_109:}
页:
[1]