Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我的文件搜索程序不搜索文件夹中的文件夹_Python_Recursion - Fatal编程技术网

Python 我的文件搜索程序不搜索文件夹中的文件夹

Python 我的文件搜索程序不搜索文件夹中的文件夹,python,recursion,Python,Recursion,我做了一个文件搜索程序来搜索文件。它可以在当前工作目录中搜索,也可以在一个文件夹中搜索,但是它在文件夹中不工作,我不明白为什么?有人能帮忙吗 我的代码: import os files = [] def file_search(file, path=""): if path == "": path = os.getcwd() for item in os.listdir(path): if os.path.isdir(item):

我做了一个文件搜索程序来搜索文件。它可以在当前工作目录中搜索,也可以在一个文件夹中搜索,但是它在文件夹中不工作,我不明白为什么?有人能帮忙吗

我的代码:

import os

files = []
def file_search(file, path=""):
    if path == "":
        path = os.getcwd()
    for item in os.listdir(path):
        if os.path.isdir(item):
            path = os.path.realpath(item)
            file_search(file, path)
        elif item == file:
            files.append(item)
    return files


print(file_search("cool.txt"))

我认为如果您使用
glob
library会更简单

示例:

import glob

files = glob.glob('**/cool.txt', recursive=True)

看看
if os.path.isdir(item)中发生了什么:
,您永远不会对
文件搜索(文件,路径)
的结果做任何事情。