Pour Linux, cela me donnerait /
, pour Windows sur le lecteur C qui me donnerait C:\\
. Notez que python n'est pas nécessairement installé sur le lecteur C sous Windows.
Vous pouvez obtenir le chemin d'accès à l'exécutable Python en utilisant sys.executable
:
>>> import sys
>>> import os
>>> sys.executable
'/usr/bin/python'
Ensuite, pour Windows, la lettre de lecteur sera la première partie de splitdrive:
>>> os.path.splitdrive(sys.executable)
('', '/usr/bin/python')
Essaye ça:
import os
def root_path():
return os.path.abspath(os.sep)
Sous Linux, cela renvoie /
Sous Windows, cela renvoie C:\\
ou quel que soit le lecteur actuel
Voici ce dont vous avez besoin:
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