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

在Lua中如何获取文件夹路径 无需写全路径访问同目录子文件夹文件

Lua(Wireshark插件场景)相对路径访问方案

方案1:使用Wireshark内置API(推荐,适配跨平台)

Wireshark Lua接口内置了个人插件目录常量,无需硬编码用户目录、前缀路径,直接拼接即可:

-- Dir.personal_plugins 自动指向当前用户的Wireshark个人插件目录
local channel_json_path = Dir.personal_plugins .. "/RSTP_Dissector/channel_json"

方案2:通用Lua原生方案(不依赖Wireshark API)

通过debug库获取当前执行脚本的路径,截取目录后拼接目标文件夹:

-- 获取当前脚本的绝对路径,去掉前缀的@符号
local current_script_path = debug.getinfo(1, "S").source:sub(2)
-- 截取当前脚本所在的RSTP_Dissector目录路径
local plugin_root_dir = current_script_path:match("(.*[/\\])")
-- 拼接得到目标文件夹路径
local channel_json_path = plugin_root_dir .. "channel_json"

注意事项

  • 路径拼接优先使用正斜杠/,避免Windows下反斜杠转义导致的路径错误
  • 方案1会自动适配不同操作系统的插件目录规则,同时兼容Windows、macOS、Linux环境,更适合Wireshark插件场景使用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 09:36:03