Situation: I need to find the top level [root] directory of any operating system using the most Pythonic way possible, without system calls.
Problem: While I can check for the operating system using things like if "Windows" in platform.system()
, I cannot be too sure if the drive letter is always C:\
or /
(the latter being unlikely). I also cannot possibly be sure that there are only Windows and *NIXes that needs to be catalog.
Question: Is there a way to get the top level directory of any operating system? Preferably using the os
module since I am already using it.
I believe os.path.abspath(os.sep)
is close to what you are asking for.
Windows doesn't have a single filesystem root. The best you can do portably is to get the root of the filesystem's current directory (assuming the current directory is called '.'
).
The expression to get that value is:
os.path.abspath('.').split(os.path.sep)[0]+os.path.sep
On Windows, if the current directory is anywhere under C:
, that line will return 'C:\'
, while unix-like systems will return '/'
.
I have no idea what VMS would give you.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With