我想从python程序中访问$PATH变量。到目前为止,我的理解是sys.path给出了Python模块搜索路径,但我想要的是$PATH环境变量。有什么方法可以从Python内部访问它吗?
为了提供更多的背景信息,我最终要做的是找出用户在哪里安装了Package/,这样我就可以在Package/中找到html文件的绝对路径。如果这是一个不好的做法,或有更好的方法来完成这一点,我将感谢任何建议。谢谢!
发布于 2014-08-16 23:13:05
可以读取访问os.environ字典的环境变量。
import os
my_path = os.environ['PATH']关于搜索包的安装位置,它取决于是否安装在路径中。
发布于 2020-11-10 11:43:28
sys.path和PATH是两个完全不同的变量。PATH环境变量向您的shell (或者更准确地说,是操作系统的exec()系列系统调用)指定查找二进制文件的位置,而sys.path是一个Python内部变量,它指定sys.path查找可安装模块的位置。
如果在启动sys.path之前设置了环境变量sys.path,则可以使用它来影响它的值。
相反,os.environ['PATH']可以用于检查PATH的值(实际上是任何环境变量;只需将其名称放在引号中而不是PATH中)。
发布于 2014-08-16 23:19:05
要检查是否安装了某个模块,只需尝试导入它:
try:
import someModule
except ImportError, e:
pass # not installed为了检查其导入的路径,您可以通过__path__访问它的someModule.__path__属性
包支持另一个特殊属性,
__path__。它被初始化为一个列表,其中包含在执行该文件中的代码之前保存包的__init__.py的目录的名称。
关于从Python中访问环境变量,可以执行以下操作:
import os
os.environ['PATH']https://stackoverflow.com/questions/25344841
复制相似问题