Tcl:测试路径是相对的还是绝对的

use*_*428 0 tcl

在Tcl中有一个很好的方法来测试一个给定的路径是相对路径还是绝对路径?当然我可以明确地做到:

  • 如果它以/开头,那就是绝对的.
  • 如果我在Windows上,它以\或X:\开头(对于某些字母X),它是绝对的.
  • 如果我在Mac和....等

不过,这在我看来就像重新发明轮子一样.这个问题似乎是如此常见(例如,"文件规范化"就是这样),我怀疑Tcl库中必定有一些东西已经在做伎俩......

Goo*_*gie 5

使用file pathtype $path.它返回absolute,relativevolumerelative.

  • F:X与卷F上的当前工作目录相关:和/ X是绝对的,但取决于您当前的卷.所以它们都是相对的,但出于不同的原因.通过在路径上使用`file normalize`来强制路径是绝对的可能更有用,以确保一致的行为. (2认同)