在Lua中给定文件名的情况下,如何获得目录路径,这与平台无关

aja*_*078 4 lua

如果是file /etc/haproxy/haproxy.cfg,则输出应为目录名/etc/haproxy

目前我正在使用

file = "/etc/haproxy/haproxy.cfg"
sep = "/"
file:match("(.*"..sep..")")
Run Code Online (Sandbox Code Playgroud)

但是它不是平台无关的,并且在Windows上会失败,因为路径分隔符是不同的。那么,是否有使用lfs模块的平台不可知的方式来实现这一目标?

lhf*_*lhf 6

package.config:sub(1,1)为您提供了运行Lua的平台的路径分隔符。请参阅手册

  • @EgorSkriptunoff 回复:`WIndows 上的两个分隔符`我想你的意思是显示:`file = io.open'C:/Python27/README.txt'`和`os.execute'"C:\Program Files\Internet Explorer\ iexplore.exe“'`。 (2认同)