首先,我按照正常的 IF 语句检查给定条件。如果它是 True,我需要扫描所有文件以查找单个关键字。如果它不是 True,我需要扫描所有文件以查找一组关键字,这些关键字将被提供。
对于我的简单工作示例,我没有扫描目录中的文件名,而是简单地在字符串中搜索关键字。
test1 = "NotKeyWord"
password = "password"
password1 = "password1"
password2 = "password2"
password3 = "password3"
if test1.lower() == "keyword":
condition = password
else:
condition = [password1, password2, password3]
f = "password1_password2_password3_jibberish_E=mc2"
if condition in f:
print("Problem solved")
如果 keyword = "keyword"即是单数,则此代码有效。美好的。但是,我想这样做,如果是另一种情况,需要知道几个关键字来获取正确的文件,我不需要求助于显式写出所有单词。
为了我的目的,我可以写
if password1 in f and password2 in f and password3 in f:
print("problem solved")
但我追求的是 pythonic 方法,希望它足够通用,能够处理长度未知的关键字数组,因此不能进行硬编码。
请您参考如下方法:
这应该可以,
if all ( c in f for c in condition ):
print("problem solved")
