我想从python程序中访问$ PATH变量。到目前为止我的理解是sys.path给出了Python模块的搜索路径,但我想要的是$ PATH环境变量。有没有办法从Python中访问它?
为了给出更多背景知识,我最终想要做的是找出用户安装了Package_X /的位置,这样我就可以在Package_X /中找到html文件的绝对路径。如果这是一个不好的做法,或者有更好的方法来实现这一点,我将不胜感激任何建议。谢谢!
答案 0 :(得分:3)
您可以阅读访问os.environ
字典
import os
my_path = os.environ['PATH']
关于搜索Package的安装位置,取决于是否安装在PATH
中答案 1 :(得分:0)
要检查是否安装了某个模块,您只需尝试导入它:
try:
import someModule
except ImportError, e:
pass # not installed
要在导入后检查其路径,您可以通过someModule.__path__
访问其__path__
属性:
Packages支持另一个特殊属性
__path__
。这是 初始化为包含目录保存名称的列表 在执行该文件中的代码之前,包__init__.py
。
关于从Python
内部访问环境变量,您可以执行以下操作:
import os
os.environ['PATH']
答案 2 :(得分:0)
sys.path
和PATH
是两个完全不同的变量。 PATH
环境变量向您的Shell(或更确切地说,操作系统的exec()
系列系统调用)指定了在哪里寻找二进制文件,而sys.path
是Python内部变量,它指定了Python在哪里寻找可安装的模块。
如果在启动Python之前进行了设置,则可以使用环境变量PYTHONPATH
来影响sys.path
的值。
相反,os.environ['PATH']
可用于从Python内部检查PATH
的值(或实际上是任何环境变量;只需将其名称放在引号内,而不是PATH
)。