aingwen 发表于 2014-09-28 18:43

求指点下面for遍历方式

文件内容
abc   cdeffd   ced   xts
bpt   doctxt   cde   xts
cbc   ppxcde   xtx   rrc
dbc   cdeffd   ced   xts
#ept   doctxt   cde   xts
fbc   ppxcde   xtx   rrc
gbc   cdeffd   ced   xts
hpt   doctxt   cde   xts
ibc   ppxcde   xtx   rrc
jbc   cdeffd   ced   xts
#kpt   doctxt   cde   xts
lbc   ppxcde   xtx   rrc

现在是要过滤掉 #号开头的行 以下是我写的代码:

import os
filename = "c:\\user_list.txt"
f = open(filename)
for i in f:
    if i in ['#']:
      print f.next()
    else:
      print i
f.close()

虽然写出来结果是正确的,但有一个地方还是有点不明白,其中for 在遍历文件的时候,是一行行进行的,还是一个字符一个字符进行的?

grassofsky 发表于 2014-09-28 19:29

回复 1# aingwen

可以直接使用stirng.startswith
import os
filename = "c:\\user_list.txt"
f = open(filename)
for i in f:
    if not i.startswith('#'):
      print i
f.close()

aingwen 发表于 2014-09-29 09:38

回复 2# grassofsky
那里你这里面那个 i 的变化 是一个字符一个字符方式,还是一行一行的?


   

grassofsky 发表于 2014-09-29 10:24

本帖最后由 grassofsky 于 2014-09-29 10:39 编辑

回复 3# aingwen


    是以行处理的
import os
filename = "c:\\user_list.txt"
f = open(filename)
for i in f:
    if not i.startswith('#'):
      print type(i), ": ", i
f.close()

aingwen 发表于 2014-09-29 10:46

回复 4# grassofsky
测试了一下,想明白了,多谢指点!


   
页: [1]
查看完整版本: 求指点下面for遍历方式