web-dev-qa-db-fra.com

Une manière indépendante du système en utilisant python pour obtenir le répertoire / lecteur racine sur lequel python est installé

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.

40
Bentley4

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')
25
jterrace

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

91
user2743490

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
7
behnam