我们拷贝一个文件的路径时,在Atom也是如此,往往得到的路径并不是可以直接处理的绝对路径,常常感觉很不方便。本文感谢@砂銀 。
julia> path ="D:\strategyJulia\testfun.jl"
"D:strategyJulia\testfun.jl"
julia> open(path)
ERROR: SystemError: opening file D:strategyJulia estfun.jl: Invalid argument
in #systemerror#51 at .\error.jl:34 [inlined]
in systemerror(::String, ::Bool) at .\error.jl:34
in open(::String, ::Bool, ::Bool, ::Bool, ::Bool, ::Bool) at .\iostream.jl:89
in open(::String) at .\iostream.jl:98
julia> abspath(path)
ERROR: ArgumentError: drive mismatch: C:\Users\hong\AppData\Local\Julia-0.5.0 D:strategyJulia estfun.jl
in joinpath(::String, ::String) at .\path.jl:82
in abspath(::String) at .\path.jl:125
julia> ispath(path)
false
而进行操作,必须要把path转化成可以读取的路径。
julia> path2 ="D:\\strategyJulia\\testfun.jl"
"D:\\strategyJulia\\testfun.jl"
julia> open(path2)
IOStream(<file D:\strategyJulia\testfun.jl>)
问题是,这种人工的转换极不方便,Julia是否有方便的转换方式?试了一下,abspath,realpath好象都不行。
方法:加s, 提示一下,只有小s有用,大S是不行的。
path ="D:\strategyJulia\testfun.jl"
path2= s"D:\strategyJulia\testfun.jl"
path3 ="D:\\strategyJulia\\testfun.jl"
path2==path3 # true