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

最近想提取出特定的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)
左手右手慢动作

으아악

그렇습니다. 원래 "webshell"을 먼저 판단했는데, 0이 아니면 url의 "phpinfo"와 url의 "phpinfo"를 판단합니다...

Peter_Zhu

으아악

if "webshell" 또는 if "phpinfo" in url을 의미하며 전자는 항상 참입니다.

으아악

이것이 의미하는 것은 if "phpinfo" in url입니다. 왜냐하면 if "webshell"은 항상 참이기 때문입니다.

해결책은 기본적으로 @lock이 말한 대로입니다.

으아악

오늘 어울리는 단어가 많다면:

으아악

결과:

으아악

urlcontain(url, lst) urllst 문자열

이 있는지 물어볼 수 있습니다.

이렇게 하면 10개의 키워드를 비교할 때 if 문을 너무 길게 작성하지 않아도 됩니다.

물론 re을 사용해도 되지만 개인적으로 re는 별로 안 좋아하는데...


내가 답변한 질문: Python-QA

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿