对于 Linux,这会给我/
,对于 C 驱动器上的 Windows,这会给我C:\\
。注意python不一定安装在windows的C盘。
问问题
52089 次
6 回答
110
尝试这个:
import os
def root_path():
return os.path.abspath(os.sep)
在 Linux 上返回/
在 Windows 上,这将返回C:\\
或当前驱动器是什么
于 2014-03-07T16:26:24.320 回答
27
您可以使用以下命令获取 Python 可执行文件的路径sys.executable
:
>>> import sys
>>> import os
>>> sys.executable
'/usr/bin/python'
然后,对于 Windows,驱动器号将是 splitdrive 的第一部分:
>>> os.path.splitdrive(sys.executable)
('', '/usr/bin/python')
于 2012-08-20T16:38:36.113 回答
8
这是您需要的:
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
于 2012-08-20T16:48:58.790 回答
5
使用pathlib
(Python 3.4+):
import sys
from pathlib import Path
path = Path(sys.executable)
root_or_drive = path.root or path.drive
于 2017-05-25T21:41:40.703 回答
3
根据 Eugene Yarmash 的回答,您可以在 Python >= 3.4 中使用该PurePath.anchor
属性pathlib
,即:
驱动器和根目录的串联
sys.executable
用于获取 python 安装的位置,一个完整的解决方案是:
import sys
from pathlib import Path
root = Path(sys.executable).anchor
这会导致在'/'
POSIX(Linux、Mac OS)上,并且应该'c:\\'
在 Windows 上为您提供(假设您的安装是 on c:
)。您可以使用任何其他路径而不是sys.executable
获取该其他路径所在的驱动器和根目录。
于 2021-01-31T02:09:53.740 回答
0
这是一个跨平台的 PY2/3 兼容函数,它返回给定路径的根。根据您的上下文,您可以将 python 可执行路径、脚本所在的路径或对您的用例有意义的任何内容输入其中。
import os
def rootpath( path ):
return os.path.splitdrive(os.path.abspath( path ))[0] + os.sep
所以对于 Python 解释器的根路径:
import sys
PY_ROOT_PATH = rootpath( sys.executable )
于 2021-02-27T16:04:05.077 回答