代码实现寻找文件最长的行
读取了文件的所有行,那么我们应该尽早的释放资源,如果这是一个很多进程都要用到的日志文件,理所当然的我们不能一直拿着它的句柄不释放,所以读取文件的行的首选方法应该是这样的
列表解析式可以稍微简化我们的代码,在得到集合前做一定的处理
有了迭代器,文件本身就成为自己的迭代器,可以不需要调用readlines()函数,我们可以直接获得行长度的集合,代替获得行的集合,而且可以使用max()内建函数得到最长的字符串长度
现在的问题是一行一行的迭代f 时,列表解析需要文件的所有行读取到内存中,然后生成列表,我们可以进一步简化代码,使用生成器表达式代替列表解析式,然后作为max()的参数
最后可以去掉文件的打开模式(默认为读取),由python处理打开的文件