|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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)
复制代码
|
|