julia如何知道要使用什么路径分隔符和根目录?
像julia如何知道要使用什么路径分隔符和根目录?,julia,Julia,像joinpath这样的函数在连接两个路径时使用适当的操作系统相关分隔符(例如Linux上的/,Windows上的\\等)。这些函数如何知道使用什么分隔符 同样,Linux上的根目录是/,而Windows上的根目录可能是C:\\。有没有办法在Julia中检索依赖操作系统的根目录 注意,我已经查看了joinpath,它似乎使用了一个未记录的函数pathsep(a,b)和一个全局变量path\u separator\re,但是我看不出这两个函数是如何工作的。它使用Sys.isunix和Sys.isw
joinpath
这样的函数在连接两个路径时使用适当的操作系统相关分隔符(例如Linux上的/
,Windows上的\\
等)。这些函数如何知道使用什么分隔符
同样,Linux上的根目录是/
,而Windows上的根目录可能是C:\\
。有没有办法在Julia中检索依赖操作系统的根目录
注意,我已经查看了
joinpath
,它似乎使用了一个未记录的函数pathsep(a,b)
和一个全局变量path\u separator\re
,但是我看不出这两个函数是如何工作的。它使用Sys.isunix
和Sys.iswindows
函数,以便有条件地定义正确的路径分隔符
变量等
if Sys.isunix()
# ...
常量路径\u分隔符\u re=r“/”
# ...
拆分驱动器(路径::字符串)=(“”,路径)
elseif Sys.iswindows()
# ...
常量路径分隔符\u re=r“[/\\]+”
# ...
函数splitdrive(路径::字符串)
m=匹配(r“^([^\\]+:\\\\\[^\]+\\[^\]+\\\\\\\\\\\\\\\\\\\\\\[^\\\]+\\\\\\\\\\[^\\\\]+:\\\\\\\\\[^\\\\\\]+:\\\\\\)(.$”,路径)
字符串(m.captures[1]),字符串(m.captures[2])
结束
其他的
错误(“需要定义此操作系统的路径原语”)
结束
对于根目录,请查看
homedir
函数,该函数使用libuv
确定它
homedir()->AbstractString
返回当前用户的主目录
|注
|
|homedir通过libuv
的uv\u os\u homedir
确定主目录。有关详细信息(例如,有关如何指定住宅的信息)
|目录(通过环境变量),请参阅uv\u os\u homedir
文档
非常有趣的答案。非常感谢。