无法使用 os.walk() 找到文件

jjJ*_*jjJ 2 python search file os.walk

我在 /home/n00b 目录中创建了一个名为 program1.py 的文件。然后我打开python,我想看看我是否可以编写一个脚本来找到它的位置。我这样做了:

for f in os.walk('/home/n00b'):
     print 'searching', f
     if 'program1.py' in f:
          print 'found'
          break
Run Code Online (Sandbox Code Playgroud)

为什么这不起作用?它似乎在搜索每个文件,因为我的屏幕充满了“搜索”部分,但它从未找到它。

Ned*_*der 5

它不起作用,因为os.walk返回一个 3 元组:当前目录、此处的目录名称列表和此处的文件名列表:

for curdir, dirs, files in os.walk('/home/n00b'):
     print 'searching', files
     if 'program1.py' in files:
          print 'found'
          break
Run Code Online (Sandbox Code Playgroud)

您的打印声明应该已经向您展示了这一点。该in运营商将没有深入考虑的元组,由于你的文件名是不是在任何点元组中的三个要素之一,你的代码没有找到它。