python file.readlines无法循环

本文介绍了一段Python代码中关于文件读取的问题,并提供了解决方案。原代码使用了循环读取文件的方式,但未正确处理文件末尾的情况,导致无法正常退出循环。通过增加对读取行数的检查,解决了这一问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

def showfile2 (filepath):
    startTime=datetime.datetime.now()
    f=file(filepath)
    while True:
         flag=True
         lines=f.readlines(10000)
        
         failure=0
         for line in lines :
              
              if not line:
                   flag=false
                   break              
              else:
                   line=line.strip()
                   if not line:
                        continue                  
                   
                   print line
         
    f.close()     
    endTime=datetime.datetime.now()
    period=(endTime-startTime).seconds
    print "时间",period

这样是无法退出循环的。

因为没有判断是否讲到文件结尾。

加个判断就 行了。

if len(lines)==0:

      break

就 好了。

结果代码如下:

def showfile2 (filepath):
    startTime=datetime.datetime.now()
    f=file(filepath)
    while True:
         flag=True
         lines=f.readlines(10000)
         if len(lines)==0:
               break
         failure=0
         for line in lines :
              
              if not line:
                   flag=false
                   break              
              else:
                   line=line.strip()
                   if not line:
                        continue                  
                   
                   print line
         if flag==False:
             break
    f.close()     
    endTime=datetime.datetime.now()
    period=(endTime-startTime).seconds
    print "时间",period


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值