|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
import os
def search_file(start_dir, target):
os.chdir(start_dir) # 切换当前工作目录
for each_file in os.listdir(os.curdir):
if each_file == target:
print(os.getcwd() + os.sep + each_file) # 使用os.sep使程序更标准
if os.path.isdir(each_file):
search_file(each_file, target) # 递归调用
os.chdir(os.pardir) # 递归调用后切记返回上一层目录
start_dir = input('请输入待查找的初始目录:')
target = input('请输入需要查找的目标文件:')
search_file(start_dir, target)
以上是参考答案,但是这段代码只显示一个结果,而我在这个start_dir目录有不止一个target。
import os
def search_for(directoy,target):
for (root,dirs,files) in os.walk(directoy):
if target in files:
print(os.path.join(root,target))
directoy = input('请输入待查找的初始目录:')
target = input('请输入需要查找的目标文件:')
search_for(directoy,target)
这段是我百度的其他答案,这段代码就能显示所有的结果,有多少同名文件都全部显示,所以我想请教一下,上面那段代码究竟是哪里出问题了啊,也是for循环啊,为什么上面那段代码print只执行一次呢?
|
|