我如何让python3搜索文本文件中的特定字符串

时间:2018-01-06 19:25:41

标签: linux string python-3.x parsing if-statement

我所要做的就是让程序查找特定的字符串,如果文件中包含该字符串,则添加到变量中,如果不是只打印它就不起作用。但它一直说当我知道它在文件中时找不到该字符串。

for line in open("/home/cp/Desktop/config"):
    if "PermitRootLogin no" in line:
        num_of_points1 = num_of_points1 + 4
        num_of_vulns1 = num_of_vulns1 + 1
    else:
        print('sshd_config is still vulnerable')
        break

这是从

读取的文件
This should work
Possibly
PermitRootLogin no
hmmmmmmmmmm
aaa

我想要它做的是在文件中找到“PermitRootLogin no”,但它只是表现得像从未找到该字符串。并打印else语句。当我在寻找教程时,他们都试图做其他事情,所以我愿意接受任何建议。谢谢你在高级我真的卡住了。

1 个答案:

答案 0 :(得分:0)

嗨,你的问题是你的别人后休息。 您的代码读取第一行并打印出第一行不是您搜索的字符串。 下面的代码适合我。 希望这会有所帮助。

found = False

for line in open('config'):
    if "PermitRootLogin no" in line:
        num_of_points1 = num_of_points1 + 4
        num_of_vulns1 = num_of_vulns1 + 1
        found = True
if not found:
    print('sshd_config is still vulnerable')