python - if语句的与或运算
PHPz
PHPz 2017-04-18 09:05:15
0
2
1084

最近想提取出特定的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

PHPz
PHPz

学习是最好的投资!

全員に返信(2)
左手右手慢动作

リーリー

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

いいねを押す +0
Peter_Zhu

リーリー

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
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート