如何在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
相关产品推荐
相关产品推荐

