ホームページ  >  に質問  >  本文

python - if语句的与或运算

最近想提取出特定的URL,遇到问题为预期提取出URL中带有webshell或者phpinfo字段的URL,但是全部URL都匹配出来了:

for url in urls:
    if "webshell" or "phpinfo" in url:
        print url

改成and语句也不符合预期,只提取出了含有phpinfo的url:

for url in urls:
    if "webshell" and "phpinfo" in url:
        print url

PHPzPHPz2741日前1061

全員に返信(2)返信します

  • ringa_lee

    ringa_lee2017-04-18 09:07:15

    リーリー

    最初に "webshel​​l" を判断し、それがゼロでない場合は、URL の "phpinfo" と URL の "phpinfo" が結びついていると判断します。

    返事
    0
  • 天蓬老师

    天蓬老师2017-04-18 09:07:15

    リーリー

    if "webshell" または if "phpinfo" in url を意味し、前者は常に true です。

    リーリー

    これが意味するのは、if "phpinfo" in url が常に成り立つためです。 if "webshell"

    解決策は基本的に@lockが言ったとおりです:

    リーリー

    今日に一致する単語がたくさんある場合:

    リーリー

    結果:

    リーリー

    urlcontain(url, lst) に文字列url があるかどうかを lst に尋ねることができます

    この方法では、10 個のキーワードを比較しても、if ステートメントが長すぎることはありません。

    もちろん

    も使えますが、個人的にはreは好きではありません…re


    私が回答した質問: Python-QA

    返事
    0
  • キャンセル返事