Для Linux это даст мне /
, для Windows на диске C, который даст мне C:\\
. Обратите внимание, что python не обязательно устанавливается на диске C на окнах.
Независимый от системы способ использования python для получения корневого каталога/диска, на котором установлен python
Ответ 1
Вы можете получить путь к исполняемому файлу Python с помощью sys.executable
:
>>> import sys
>>> import os
>>> sys.executable
'/usr/bin/python'
Затем для Windows буква диска будет первой частью splitdrive:
>>> os.path.splitdrive(sys.executable)
('', '/usr/bin/python')
Ответ 2
Попробуйте следующее:
import os
def root_path():
return os.path.abspath(os.sep)
В Linux это возвращает '/'
В Windows это возвращает "C: \" или любой другой текущий
Ответ 3
Вот что вам нужно:
import sys, os
def get_sys_exec_root_or_drive():
path = sys.executable
while os.path.split(path)[1]:
path = os.path.split(path)[0]
return path
Ответ 4
Использование pathlib
(Python 3.4 +):
import sys
from pathlib import Path
path = Path(sys.executable)
root_or_drive = path.root or path.drive