python安装目录的问题?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python安装目录的问题?相关的知识,希望对你有一定的参考价值。

Python用sys.path命令,看到python安装在C:\Users\andy.he\AppData\Local\Programs\Python,把地址复制到地址栏,回车能进去。但是打开C盘,按这个路径去找,在AppData文件夹下并没有Local这个文件夹,打开显示隐藏文件,还是看不到。现在安装Python库需要在DOS下进入Python安装目录,按这个路径用DOS进去,系统说找不到这个路径。啥意思啊,把路径复制在地址栏回车又能进,那这个安装目录到底在哪,为啥从C盘开始点进去到AppData就见不到下一层Local,DOS按这个路径也找不到,那这文件夹到底在哪

local要想显示好像得把文件夹选项里的 显示系统文件 开启,你说的情况也不难处理,复制路径回车不是已经可以显示目录了嘛,在文件列表空白处按住shift单击右键,选择在此位置打开命令提示符。
另外,我觉得你用命令提示符进入可能没权限,可以在开始里找到 命令提示符,右击,以管理员身份打开,再试着cd访问。
参考技术A 电脑问题,懂吧,直接砸了,心情会好一点。

使用 python 获取安装 python 的根目录/驱动器的一种独立于系统的方式

【中文标题】使用 python 获取安装 python 的根目录/驱动器的一种独立于系统的方式【英文标题】:A system independent way using python to get the root directory/drive on which python is installed 【发布时间】:2012-08-16 00:16:25 【问题描述】:

对于 Linux,这将给我/,对于 C 驱动器上的 Windows,我将给我C:\\。注意windows的C盘不一定要安装python。

【问题讨论】:

在linux上,根目录不一定在安装python的同一个驱动器上。这取决于系统的分区方式(单驱动器或多驱动器)。 您可以使用来自 sys (docs.python.org/py3k/library/sys.html) 的可执行文件、前缀或 exec_prefix 这些答案都不适合我。我如何加入root_dir="C:/Users/folder"filename="data/file1.txt" 以获得绝对路径?在非 Windows 中使用 os.path.join(root_dir, filename) 很容易,但我在 Windows 中找不到解决方案。 【参考方案1】:

试试这个:

import os

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

在 Linux 上,这将返回 /

在 Windows 上,这将返回 C:\\ 或任何当前驱动器

【讨论】:

这将为您提供您在 Windows 上运行脚本的驱动器的盘符;不是作为接受的答案提供的运行 python 可执行文件的驱动器号。可能是找到此页面的各种用户想要的,接受的答案提供了原始问题的要求。 这在我的 Mac 上也运行良好【参考方案2】:

您可以使用sys.executable 获取 Python 可执行文件的路径:

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

然后,对于 Windows,驱动器号将是 splitdrive 的第一部分:

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

【讨论】:

如果os.path.splitdrive(sys.executable)[0] 也能在 linux 中以 root 身份返回 /,那就太好了。不过已经够好了,谢谢! @Bentley4 我认为他们这样做是为了正确。 / 真的不是驱动器号 是的,但我想也许在一个名为 root 的标准库模块中有一些 python 对象,它总是返回根目录。但好像没有。 在执行类似任务时,我倾向于使用 file 来获取脚本的位置,而不是使用 sys.executable。【参考方案3】:

这是你需要的:

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

【讨论】:

IMO,这个答案在其他答案的 cmets 中争论的点上有优点。不言而喻,这将返回哪个驱动器的根 - 它是 python 可执行文件的驱动器。如果有人需要不同的驱动器,他们应该以不同的path 开头。在没有这些知识的情况下,这个答案使用了优越的假设。【参考方案4】:

使用pathlib(Python 3.4+):

import sys
from pathlib import Path

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

【讨论】:

也许在最后一行使用三元运算符 如果你能够使用pathlib >= 3.5,那么一个绝妙的方法是使用Path.home(),它依赖于操作系统并且可以用作与命令交互的root。 在带有 pathlib2 的 Windows 上(Python 3.5+ pathlib 的 Python 2.7 backport),这并没有给出正确的答案,因为 root 属性返回 '\\',所以正确的答案似乎是path.drive + path.root as path.drive 在 Linux 上返回空的 ''【参考方案5】:

根据 Eugene Yarmash 的回答,您可以在 Python >= 3.4 中使用 @987654321@ 中的 PurePath.anchor 属性,即:

驱动器和根目录的串联

使用sys.executable 获取python 安装的位置,一个完整的解决方案是:

import sys
from pathlib import Path

root = Path(sys.executable).anchor

这会在 POSIX(Linux、Mac OS)上产生'/',并且应该在 Windows 上为您提供'c:\\'(假设您的安装在c: 上)。您可以使用任何其他路径而不是 sys.executable 来获取此其他路径所在的驱动器和根目录。

【讨论】:

【参考方案6】:

这是一个跨平台、兼容 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 )

【讨论】:

以上是关于python安装目录的问题?的主要内容,如果未能解决你的问题,请参考以下文章

在当前目录安装python包

如何在windows下的python

python模块安装目录在哪里

python-selenium-robotframework安装问题

pip怎么安装到用户目录

redhat7.6 安装Python 3