Python123中文件行数问题
Posted KrrGee
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python123中文件行数问题相关的知识,希望对你有一定的参考价值。
描述
打印输出附件文件的有效行数,注意:空行不计算为有效行数。
输入输出示例
这是仅给出输出格式样例,不是结果。
我的代码:
1 f = open("latex.log","r").readlines() 2 counts = 0 3 for line in f : 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 = 0 3 for i in range(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 = 0 3 for line in f: 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()
方法。
以上是关于Python123中文件行数问题的主要内容,如果未能解决你的问题,请参考以下文章