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安装目录的问题?的主要内容,如果未能解决你的问题,请参考以下文章