免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2207 | 回复: 9
打印 上一主题 下一主题

我如何退出这个while循环 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-10-08 15:34 |只看该作者 |倒序浏览
我想变量文件的每一行,如果是以ppp开头的就打印,遍历完退出就可以了。但实际情况是总打印第一个匹配的。

myfile=open("pytest.txt","r")
line=myfile.readline()
while line:
      if (line.startswith('ppp')):
         print line
myfile.close()

论坛徽章:
0
2 [报告]
发表于 2013-10-08 15:39 |只看该作者
你总共就只读了一行,while line不能继续读文件

论坛徽章:
0
3 [报告]
发表于 2013-10-08 15:41 |只看该作者
回复 2# laike9m

牛啊!一眼就看出来了。那该如何用while实现呢?


   

论坛徽章:
0
4 [报告]
发表于 2013-10-08 15:46 |只看该作者
本帖最后由 laike9m 于 2013-10-08 15:47 编辑

from doc
  1. read(n)
  2. Read and return at most n characters from the stream as a single str. If n is negative or None, reads until EOF.
复制代码
如果是我的话会这样做

  1. lines = (l for l in myfile.readlines())
  2. for line in lines:
  3.     if line.startswith('ppp'):
  4.         print line
  5. myfile.close()
复制代码

论坛徽章:
0
5 [报告]
发表于 2013-10-08 16:06 |只看该作者
谢谢啊!我用for循环也搞定了:) 就是不知道怎么用while实现。

论坛徽章:
0
6 [报告]
发表于 2013-10-08 16:55 |只看该作者
重點是你的

line=myfile.readline()

少了一個 "s" 改成下面應該就行了!

line = myfile.readines()

论坛徽章:
0
7 [报告]
发表于 2013-10-08 17:00 |只看该作者
f=open('a.txt')
line=f.readline()
while line:
    if (line.startswith('ppp')):
         print line
         break
    line=f.readline()

论坛徽章:
0
8 [报告]
发表于 2013-10-09 10:00 |只看该作者
回复 7# yjphhw


    这不行啊

论坛徽章:
13
CU大牛徽章
日期:2013-03-14 14:14:082016科比退役纪念章
日期:2016-07-22 11:15:35数据库技术版块每日发帖之星
日期:2016-05-27 06:20:002015亚冠之吉达阿赫利
日期:2015-08-05 10:06:542015年亚洲杯之韩国
日期:2015-04-01 16:05:42双鱼座
日期:2014-11-13 11:04:24丑牛
日期:2014-07-25 17:29:54子鼠
日期:2014-04-25 12:25:45丑牛
日期:2014-04-17 08:35:48巨蟹座
日期:2014-04-16 16:50:05CU大牛徽章
日期:2013-03-14 14:14:29CU大牛徽章
日期:2013-03-14 14:14:26
9 [报告]
发表于 2013-10-09 10:45 |只看该作者
  1. while True:
  2.     line=myfile.readline()
  3.     if not line:break
  4.     if(line.startswith('ppp')):print line
  5. myfile.close()
复制代码

论坛徽章:
0
10 [报告]
发表于 2013-10-09 15:17 |只看该作者
回复 9# hmchzb19


  牛逼!学习了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP