web-dev-qa-db-ja.com

pythonを使用して、pythonがインストールされているルートディレクトリ/ドライブを取得するシステムに依存しない方法

Linuxの場合、これにより/、私に与えるCドライブ上のWindowsの場合C:\\。 pythonは、WindowsのCドライブに必ずしもインストールされないことに注意してください。

40
Bentley4

sys.executableを使用して、Python実行可能ファイル)へのパスを取得できます。

>>> import sys
>>> import os
>>> sys.executable
'/usr/bin/python'

次に、Windowsの場合、ドライブ文字はsplitdriveの最初の部分になります。

>>> os.path.splitdrive(sys.executable)
('', '/usr/bin/python')
25
jterrace

これを試して:

import os

def root_path():
    return os.path.abspath(os.sep)

Linuxでは、これは/を返します

Windowsでは、これはC:\\または現在のドライブが何かを返します

91
user2743490

必要なものは次のとおりです。

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

pathlib (Python 3.4+)を使用:

import sys
from pathlib import Path

path = Path(sys.executable)
root_or_drive = path.root or path.drive
4
Eugene Yarmash