在 python 中,我经常会做类似的事情:
os.path.join('/some/path/', 'something', 'file.mov')
或者可以使用Path(...). 在 vim 中执行此操作的建议方法是什么?例如,这是我当前在与脚本相同的目录中创建日志文件的方式:
let log_file = expand('%:p:h') . '/file.log'
有一个更好的方法吗?
在 python 中,我经常会做类似的事情:
os.path.join('/some/path/', 'something', 'file.mov')
或者可以使用Path(...). 在 vim 中执行此操作的建议方法是什么?例如,这是我当前在与脚本相同的目录中创建日志文件的方式:
let log_file = expand('%:p:h') . '/file.log'
有一个更好的方法吗?
我的lh#path#join()库中有一个函数,但老实说......我从不使用它。最后,它始终归结为字符串连接,并且/始终有效,即使在 Windows 上也是如此。当我需要与外部进程交互时,我有其他功能可以正确保护路径名。
" Function: lh#path#join(pathparts, {path_separator}) {{{3
function! lh#path#join(pathparts, ...) abort
let sep
\ = (a:0) == 0 ? '/'
\ : type(a:1)==type(0) && (a:1) == 0 ? '/'
\ : (a:1) == 1 ? '\'
\ : (a:1) =~ 'shellslash\|ssl' ? (&ssl ? '\' : '/')
\ : (a:1)
return join(a:pathparts, sep)
endfunction