Ben*_*ey4 40 python operating-system cross-platform path
对于Linux,这将给我/,因为C盘上的Windows会给我C:\\.请注意,python不一定安装在Windows上的C驱动器上.
小智 92
试试这个:
import os
def root_path():
return os.path.abspath(os.sep)
Run Code Online (Sandbox Code Playgroud)
在Linux上,这将返回 /
在Windows上,它返回C:\\当前驱动器或任何当前驱动器
jte*_*ace 26
您可以使用以下命令获取Python可执行文件的路径sys.executable:
>>> import sys
>>> import os
>>> sys.executable
'/usr/bin/python'
Run Code Online (Sandbox Code Playgroud)
然后,对于Windows,驱动器号将是splitdrive的第一部分:
>>> os.path.splitdrive(sys.executable)
('', '/usr/bin/python')
Run Code Online (Sandbox Code Playgroud)
这就是你需要的:
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
Run Code Online (Sandbox Code Playgroud)
使用pathlib(Python 3.4+):
import sys
from pathlib import Path
path = Path(sys.executable)
root_or_drive = path.root or path.drive
Run Code Online (Sandbox Code Playgroud)
小智 5
根据 Eugene Yamash 的回答,您可以早PurePath.anchor在 Python >= 3.4 中使用该属性,即:pathlib
驱动器和根的串联
使用sys.executable来获取 python 安装的位置,完整的解决方案是:
import sys
from pathlib import Path
root = Path(sys.executable).anchor
Run Code Online (Sandbox Code Playgroud)
这会在'/'POSIX(Linux、Mac OS)上产生结果,并且'c:\\'在 Windows 上应该会产生结果(假设您的安装是在c:)。您可以使用任何其他路径,而不是sys.executable获取该其他路径所在的驱动器和根目录。
| 归档时间: |
|
| 查看次数: |
38698 次 |
| 最近记录: |