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

如何在Linux集群上使用Julia的glob处理以正斜杠开头的文件路径?

解决Julia Glob包绝对路径匹配失败的问题

核心原因

Glob.jl的glob函数不允许匹配模式以/开头,它默认第一个参数是相对于目标目录的匹配规则,而非完整绝对路径。

两种解决方法

方法一:拆分目录与匹配模式(推荐)

把绝对路径拆成「目标目录」和「文件名匹配规则」两部分,分别作为glob的第二个和第一个参数传入:

using Glob
# 目标目录是绝对路径,匹配规则只写文件名部分
file_paths = glob("*_*_*.csv", "/global/cdirs/stuff")

这样就能正确匹配指定目录下所有符合*_*_*.csv格式的文件。

方法二:基于根目录匹配

如果想保留类似完整路径的写法,可以把根目录/作为第二个参数,模式从根目录下的子路径开始写:

using Glob
file_paths = glob("global/cdirs/stuff/*_*_*.csv", "/")

效果和方法一完全一致,只是写法不同。

额外验证方式

如果不确定匹配结果,也可以用readdir配合过滤实现相同效果(虽然不如Glob简洁):

dir_path = "/global/cdirs/stuff"
file_paths = joinpath.(dir_path, filter(f -> endswith(f, ".csv") && count('_', f) >= 2, readdir(dir_path)))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 22:20:47