| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
def fun (path, file_name): 
    import os 
    for each in os.listdir(path): 
        if os.path.isfile(each): 
            if str(file_name) == str(each): 
                print(os.path.join(os.getcwd(), each)) 
        else:           
            next_path = os.path.join(os.getcwd(), each) 
            fun(next_path, file_name) 
             
path = input('请输入待查找的初始目录:') 
file_name = input('请输入需要查找的目标文件:') 
fun(path, file_name) 
 
 
运行显示溢出,但自己检查了几遍没问题啊 
结束判断是判断文件是否为文件夹 
 
 
你只单纯的更改了路径,但是工作路径不会随着你变量值更改而更改,导致你 os.getcwd() 函数返回的总是最初始的工作目录,需要通过 os.chird 来进行更改  
 
参考代码,用 os.chird 函数: 
- import os
 
  
- def fun(path, file_name):
 
 -     os.chdir(path)
 
 -     for each in os.listdir(path):
 
 -         if os.path.isfile(each):
 
 -             if str(file_name) == str(each):
 
 -                 print(os.path.join(os.getcwd(), each))
 
 -         else:
 
 -             next_path = os.path.join(os.getcwd(), each)
 
 -             fun(next_path, file_name)
 
 -             os.chdir(os.pardir)
 
  
 
- path = input('请输入待查找的初始目录:')
 
 - file_name = input('请输入需要查找的目标文件:')
 
 - fun(path, file_name)
 
  复制代码 
 
或者不使用 os.getcwd() 函数,手动输入完整路径: 
 
- import os
 
  
- def fun(path, file_name):
 
 -     for each in os.listdir(path):
 
 -         if os.path.isfile(each):
 
 -             if str(file_name) == str(each):
 
 -                 print(os.path.join(path, each))
 
 -         else:
 
 -             next_path = os.path.join(path, each)
 
 -             fun(next_path, file_name)
 
  
 
- path = input('请输入待查找的初始目录:')
 
 - file_name = input('请输入需要查找的目标文件:')
 
 - fun(path, file_name)
 
  复制代码 
 
 
 
 
 |   
 
 
 
 |