如何在Python中获取文件系统的根目录?

Tim*_*ong 7 python python-2.7 python-os

情况:我需要使用最 Pythonic 的方式找到任何操作系统的顶级 [root] 目录,而不需要系统调用。

问题:虽然我可以使用诸如 之类的东西检查操作系统if "Windows" in platform.system(),但我不能太确定驱动器号是否总是C:\/(后者不太可能)。我也无法确定是否只有 Windows 和 *NIX 需要编目。

问题:有没有办法获取任何操作系统的顶级目录?最好使用该os模块,因为我已经在使用它了。

DYZ*_*DYZ 12

我相信os.path.abspath(os.sep)接近你所要求的。

  • @tripleee 对于所有其他系统,您的主动、积极的建议是什么(*已经提出了您善意的批评*)....?这个答案还清楚地表明:***我相信...*** **接近** ***您正在寻找的东西。*** (4认同)
  • 对于所有“流行”系统来说这可能都是正确的,但如果您想要真正的可移植性,代码也应该在不正确的系统上工作。例如,我隐约相信 VMS 是不同的。 (3认同)

cco*_*cco 5

Windows 没有单一的文件系统根。您可以做的最好的可移植操作是获取文件系统当前目录的根目录(假设当前目录名为'.')。

获取该值的表达式是:

os.path.abspath('.').split(os.path.sep)[0]+os.path.sep
Run Code Online (Sandbox Code Playgroud)

在 Windows 上,如果当前目录位于 下的任何位置C:,则该行将返回'C:\',而类 UNIX 系统将返回'/'

我不知道 VMS 会给你什么。