鱼C论坛

 找回密码
 立即注册
查看: 650|回复: 1

搜索文件的代码,用了递归的方式,可是程序执行没有反应,连报错都没有,求助啊

[复制链接]
发表于 2018-12-16 21:35:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如题,我在做零基础入门python30讲课后联系第2题,写一个搜索的小程序,用了递归的方式,可程序怎么执行都没有反应

import os

dir_top = input('要搜索的目录:')
name = input('要搜索的文件:')

def search(dir_top,name):

    f = os.listdir(dir_top)

    for i in f:
        if os.path.isdir(i):
            search(i,name)
        else:
            if i == name:
                m = os.path.join(os.getcwd(),i)
                print(m)

search(dir_top,name)


然后我简化了代码:
import os

dir1 = '/Users/jinxin/Desktop/Python 学习/class'

f = os.listdir(dir1)

print(f)

for i in f:
    if os.path.isdir(i):
        print(i + '是个目录')

执行到print(f)(解释器输出['.DS_Store', '函数', 'IO', '数据类型'])就结束了,for循环后面的语句就是没有反应
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-12-16 23:51:35 | 显示全部楼层
我测试了你的代码,前面部分没有问题,正常打印出了 文件列表
请注意  for i in f  这个 i 是文件名 或是目录名,但不是路径,而 os.path.isdir()的参数需要是路径.
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-12 10:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表