python3:当在整个fi上循环时,再做一次for循环

2024-05-18 23:43:12 发布

您现在位置:Python中文网/ 问答频道 /正文

如果是文件结尾而不是空行,则以下代码将失败。它适用于一个简单的解析器,它查找=符号,然后在读取空行后立即返回内容

def readFile():
    keyFlag=False
    for line in open(AAA,"r").readlines():
       if "=" in line: keyFlag=True
       if key.Flag: content+=line
       if line.ispace(): return content

问题是,当文件结束时,for循环停止。除了插入一个标志,还有没有一种优雅的方法可以再次循环一次


Tags: 文件代码in解析器内容forifdef
2条回答

你应该在循环外return,如果行是空的,就在循环内break

def readFile():
    flag = False
    content = ""
    for line in open(AAA):
       if '=' in line:
           flag = True
       if flag:
           content += line
       if line.isspace(): 
           break
    return content

使用while循环:

data = open(AAA,"r").readlines()
i = 0
while i < len(data):
   content+= data[i]
   i+=1
return content

相关问题 更多 >

    热门问题