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

如何在Julia中从文件名提取对应文件扩展名?

Julia 文件名扩展名提取方法

内置标准库方案

Julia 标准库自带splitext函数,无需安装第三方包即可直接使用,会返回(文件名主体, 扩展名)的元组,扩展名包含开头的点符号。

基础使用示例

# 提取普通单后缀
splitext("note.txt") # 输出:("note", ".txt")

# 提取Julia脚本后缀
splitext("analysis.jl") # 输出:("analysis", ".jl")

# 无后缀文件返回空字符串作为扩展名
splitext("LICENSE") # 输出:("LICENSE", "")

# 直接提取扩展名的写法
file_ext = splitext("demo.py")[2] # 得到 ".py"

路径兼容说明

即使传入带完整目录的路径,也不会受到路径中其他位置的点符号干扰,只会识别文件名部分的后缀:

splitext("/home/user/workspace/project.v2/run.jl") 
# 输出:("/home/user/workspace/project.v2/run", ".jl")

多段扩展名自定义实现

如果需要识别.tar.gz、.tar.bz2这类多段组合扩展名,可以自行实现简单的匹配逻辑:

function get_full_ext(filename::String, custom_multi_exts::Vector{String} = [".tar.gz", ".tar.bz2", ".tar.xz", ".tar.zst"])
    # 优先匹配预设的多段扩展名
    for ext in custom_multi_exts
        endswith(filename, ext) && return ext
    end
    # 无匹配时返回单段扩展名
    return splitext(filename)[2]
end

# 测试效果
get_full_ext("dataset.tar.gz") # 输出:".tar.gz"
get_full_ext("image.png") # 输出:".png"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 07:57:03