我被困在使用反斜杠作为路径分隔符的windows的永恒问题中。我想要一个将windows路径转换为unix路径的Lua函数。Lua函数将Windows路径转换为unix路径
我知道我可以通过转义反斜杠来指定一个变量的路径,例如,
文件名= “P:\\用户\\脚本\\ config.lua”
我知道这是可以做到使用不同的字符串分隔符例如
文件名= [[P:\用户\脚本\ config.lua]]
我知道,因为单反斜杠或者被移除,或解释为转义序列我不能使用string.gsub,在传递给gsub之前。
因此,使用Windows我有一个问题,当我给变量指定一个文件名,因为该字符串包含单个反斜杠,例如,
filename = arg[0]
filename = debug.getinfo(2, "S").source:sub(2)
如何将此字符串转换为具有正斜杠的unix样式字符串?
function unixpath(filename)
if filename~=nil then
else
return nil
end
end
print(unixpath(arg[0]))
print(unixpath(debug.getinfo(2, "S").source:sub(2)))
print(unixpath([[P:\user\scripts\config.lua]]))
'io.open([E:/ TEMP /测试])'适用于Lua的5.1和WXP - 为什么你需要转换? Unix没有驱动P – FareakyGnome