描述
打印输出附件文件的有效行数,注意:空行不计算为有效行数。
输入输出示例
这是仅给出输出格式样例,不是结果。?????????????????????????????????????????????????????????????????????????????????????????????
我的代码:
1 f = open("latex.log","r").readlines()2 counts = 0
3 for line inf :4 line =line.strip(‘\n‘)5 if len(line)!= 0:6 counts += 1
7 else:8 continue
9 print("{}".format(counts))
1 f = open("latex.log","r").readlines()2 counts =03 for i inrange(0,len(f)) :4 f[i] =f[i].strip(‘\n‘)5 if len(f[i])!=0:6 counts += 1
7 else:8 continue
9 print("共{}行".format(counts))
老师给出的参考代码:
1 f = open("latex.log")2 s =03 for line inf:4 line = line.strip(‘\n‘)5 if len(line) ==0:6 continue
7 s += 1
8 print("共{}行".format(s))
试了半天,但转了一圈发现自己是忘了加“共和行”两个字。
但根本原因是自己语法不扎实,这道题我的收获如下:
1、首先是 for in 的问题,
for in 说明:也是循环结构的一种,经常用于遍历字符串、列表,元组,字典等
格式:
执行流程:x依次表示y中的一个元素,遍历完所有元素循环结束。这道题里line可循环列表
2、readlines() 、read()、和for in循环文件逐行读取问题
readlines()读取全部文件,返回list形式,带有\n换行符
read()次性读取文件全部内容,当成一个字符串处理,返回类型为字符串
for line in fh 将文件对象 fh 视为可迭代的,什么是可迭代的我现在也不知道~
3、意外收获:
Python引入了with语句来自动帮我们调用close()方法:
1 with open(‘/path/to/file‘, ‘r‘) as f:2 print(f.read())
但是代码更佳简洁,并且不必调用f.close()方法。
原文地址:https://www.cnblogs.com/krrgee/p/12751253.html