You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Julia中如何仅列出目录的子目录?代码无输出求助

解决Julia中列出父目录子目录无输出的问题

嘿,我一眼就看出问题所在啦!你的代码里有个容易踩的小坑:readdir(parent_dir) 默认返回的是目标目录下子项的纯名称(不是完整路径),而你用 isdir(x) 判断时,它会在当前工作目录(不是你指定的 parent_dir)里找这个 x,自然就找不到对应的目录,过滤后结果为空,所以没输出~

给你两种修正方案,选哪种都可以:

方案一:用 readdir 的 join 关键字参数(更简洁)

直接让 readdir 返回完整路径,这样 isdir 就能正确判断了:

parent_dir = "/path/to/parent/folder"
# 用 join=true 让 readdir 返回完整路径
dirs = filter(x -> isdir(x), readdir(parent_dir; join=true))
for dir in dirs
    # 如果只想打印目录名称(不是完整路径),可以用 basename(dir)
    println(basename(dir))
    # 要是想打印完整路径,直接 println(dir) 就行
end

方案二:手动拼接完整路径

如果你不想用 join 参数,就手动把父目录和子项名称拼起来再判断:

parent_dir = "/path/to/parent/folder"
# 遍历每个子项,拼接完整路径后判断是否为目录
dirs = [x for x in readdir(parent_dir) if isdir(joinpath(parent_dir, x))]
for dir in dirs
    println(dir)  # 这里输出的就是目录的纯名称
end

小提示

你可以先单独运行 readdir(parent_dir) 看看返回的内容,确认是不是你预期的子目录名称,这样能更快排查问题哦~

内容的提问来源于stack exchange,提问作者AVA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 07:22:07