Skip to main content
 首页 » 编程设计

PYTHON:if not i.find ("Hey") 和 if i.find ("Hey") 之间的区别 == -1

2025年05月04日12zhoujg

我有以下代码:

import os 
from os.path import join, getsize 
 
def main(): 
    directory = "\Surveys_I" 
    for root, dirs, files in os.walk(directory): 
       for i in dirs: 
            if not i.find("Hey"): 
                 print i 

如果我使用上面的代码,我(违反直觉)得到一个包含单词 Hey 的所有文件的列表。如果我这样做

if i.find("Hey") == -1 我只得到不包含 hey 的文件。

如果我这样做:

如果 i.find("Hey") == 1,我一个文件都没有。

这是怎么回事?

请您参考如下方法:

除了所有其他正确答案之外:

如果您只想得到一个字符串是否包含(某处)在另一个字符串中的 bool 结果,您可以使用 in 运算符:

if "hey" not in i: 
    print i