在循环中使用For和If组合查找文件中的字符串

时间:2018-09-10 07:14:21

标签: python loops if-statement

我是python的初学者,我无法设法获取循环以及条件是否在这种情况下起作用,如下所示。

我正在搜索传入参数(主机)的服务器,如果建立了返回,则返回第16列中的字符串(如果未建立):在我的代码中,它返回的不是基于循环的,我只想要一次。

我也尝试了一次没有运气的休息。

感谢您的帮助。

with open('file', 'r') as f:
    for line in f:
        parts = line.split('`')
        if host in line:
          model = parts[16]
          print("You have selected this server model: " + host + " " + model)
        else:
          print("not founded")

1 个答案:

答案 0 :(得分:1)

仅在完成循环而未找到匹配项后才打印'not found',并且在找到匹配项后应break进行循环。为此,您可以使用for-else构造:

with open('file', 'r') as f:
    for line in f:
        parts = line.split('`')
        if host in line:
            model = parts[16]
            print("You have selected this server model: " + host + " " + model)
            break
    else:
        print("not found")