我设置了要在我的Python应用程序中访问的环境变量。 我如何获得这个价值?


#1楼

检查密钥是否存在(返回TrueFalse

'HOME' in os.environ

您也可以在打印密钥时使用get() 。 如果要使用默认值,则很有用。

print(os.environ.get('HOME', '/home/username/'))

其中/home/username/是默认值


#2楼

如果您打算在生产Web应用程序代码中使用该代码,
使用Django / Flask之类的任何网络框架,使用envparse之类的项目,使用它您都可以将值读取为定义的类型。

from envparse import env
# will read WHITE_LIST=hello,world,hi to white_list = ["hello", "world", "hi"]
white_list = env.list("WHITE_LIST", default=[])
# Perfect for reading boolean
DEBUG = env.bool("DEBUG", default=False)

注意:建议使用kennethreitz的autoenv工具来制作特定于项目的环境变量,请注意,使用autoenv请保留.env文件为私有文件(不公开)


#3楼

import os
for a in os.environ:print('Var: ', a, 'Value: ', os.getenv(a))
print("all done")

这将打印所有环境变量及其值。


#4楼

您可以使用以下命令访问环境变量

import os
print os.environ

尝试查看PYTHONPATH或PYTHONHOME环境变量的内容,也许这将对您的第二个问题有所帮助。 但是,您应该澄清一下。


#5楼

至于环境变量:

import os
print os.environ["HOME"]

恐怕您还得再充实一点,才可以得到一个不错的答案。


#6楼

通过os.environ访问环境变量

import os
print(os.environ['HOME'])

或者,您可以使用以下命令查看所有环境变量的列表:

os.environ

有时您可能需要查看完整的列表!

# using get will return `None` if a key is not present rather than raise a `KeyError`
print(os.environ.get('KEY_THAT_MIGHT_EXIST'))# os.getenv is equivalent, and can also give a default value instead of `None`
print(os.getenv('KEY_THAT_MIGHT_EXIST', default_value))

Windows上的Python默认安装为C:\\Python 。 如果要在运行python时查找,可以执行以下操作:

import sys
print(sys.prefix)

#7楼

实际上,可以这样做:

import osfor item, value in os.environ.items():print('{}: {}'.format(item, value))

或者简单地:

for i, j in os.environ.items():print(i, j)

要查看参数中的值:

print(os.environ['HOME'])

要么:

print(os.environ.get('HOME')

设置值:

os.environ['HOME'] = '/new/value'

#8楼

还有很多很棒的图书馆。 例如, Envs将允许您从环境变量rad中解析对象。 例如:

from envs import env
env('SECRET_KEY') # 'your_secret_key_here'
env('SERVER_NAMES',var_type='list') #['your', 'list', 'here']

#9楼

对于django,请参阅( https://github.com/joke2k/django-environ )

$ pip install django-environimport environ
env = environ.Env(
# set casting, default value
DEBUG=(bool, False)
)
# reading .env file
environ.Env.read_env()# False if not in os.environ
DEBUG = env('DEBUG')# Raises django's ImproperlyConfigured exception if SECRET_KEY not in os.environ
SECRET_KEY = env('SECRET_KEY')

#10楼

最初的问题(第一部分)是“如何在Python中检查环境变量”。

这是检查$ FOO是否设置的方法:

try:  os.environ["FOO"]
except KeyError: print "Please set the environment variable FOO"sys.exit(1)

如何访问环境变量值?相关推荐

  1. php修改父进程变量,shell子进程修改父进程的环境变量值

    shell子进程修改父进程的环境变量值 脚本中的环境变量通过 export 导出,脚本中调用其他脚本使用这个变量 这里有两个脚本程序 hello 和 hello1 hello 脚本代码 #!/bin/ ...

  2. 原子量解决多线程(多应用)同时访问一个变量值问题

    问题: 1:在多线程(多个应用)中,如果同时访问某一个变量,如果线程A刚刚开始准备对变量赋值的时候,赋值在汇编里会有几个动作执行,这时候如果B线程又进来了,对变量又赋值,这时候线程A的那个赋值就会被中 ...

  3. python环境变量值_如何在python中读取Windows环境变量值?

    尝试使用以下内容: os.getenv('MyVar') os.getenv(varname[, value]) Return the value of the environment variabl ...

  4. Python获取环境变量值

    import osenv_dist = os.environ # environ是在os.py中定义的一个dict environ = {}print (env_dist.get('JAVA_HOME ...

  5. 如何读取环境变量值?Go 每日一库之 godotenv

    简介 twelve-factor应用提倡将配置存储在环境变量中.任何从开发环境切换到生产环境时需要修改的东西都从代码抽取到环境变量里.但是在实际开发中,如果同一台机器运行多个项目,设置环境变量容易冲突 ...

  6. 设置、查看环境变量值

    2019独角兽企业重金招聘Python工程师标准>>> 1.启动CMD命令窗口 2.set JAVA_HOME=x:\JDK_1.4.2       set PATH=%JAVA_H ...

  7. jre配置环境变量及无法保存设置的Path变量值

    jre环境变量配置 例:jre安装目录为: C:\Program Files\Java\jre1.8.0_231 配置步骤 打开我的电脑,右击选择属性 或 打开控制面板-> 系统 ----> ...

  8. 环境变量 变量名 变量值_如何使用环境变量

    环境变量 变量名 变量值 Environment variables are a set of dynamic named values that can affect the way running ...

  9. python函数用法详解2(变量的作用域(全局变量、局部变量)、共享全局变量、函数返回值、函数的参数(位置参数、关键字参数、默认参数、不定长参数)、拆包、交换变量值、引用、可变和不可变类型)

    1. 变量作⽤域         变量作⽤域指的是变量⽣效的范围,主要分为两类:局部变量和全局变量. 局部变量         定义在函数体内部的变量,即只在函数体内部⽣效. def testA(): ...

最新文章

  1. Java这个高级特性,很多人还没用过!
  2. 那些你所不知道的arXiv使用技巧
  3. golang中小数除以大数为0的坑
  4. 【OpenCV3】彩色映射——cv::applyColorMap()与cv::LUT()详解
  5. 简单程序跟踪调试方式
  6. php里面没有mssql,为什么没有正确使用PHP / MSSQL的日期/时间?
  7. Android P(3)---Android P 功能和 API
  8. Python检测U盘插入、自动复制文件并写入新文件
  9. Linux下c语言实现通讯录,学生通讯录管理系统linux下C语言
  10. 【转贴CSDN】关于DataGrid的精华
  11. android java笔试题_Android之Java基础知识笔试题
  12. 摄像头视频画面接入,使用iframe标签嵌入到页面中(海康威视、萤石)
  13. 计算机算法分析与设计心得体会,算法设计与分析课程的心得体会
  14. gc cr block lost
  15. 360安全助手 -- 强力卸载电脑上的软件 的问题
  16. bootstrap table合并单元格
  17. 第844期机器学习日报(2017-01-09)
  18. HTML5期末大作业:美食网页主题网站设计与实现——HTML+CSS+JavaScript月饼美食食品企业网站html模板9页面
  19. 1. 大数据实时计算介绍
  20. Java学习_Day 02(学习内容:狂神说JAVA零基础P12-P17)

热门文章

  1. Incorrect string value: '\xE8\x8B\x8F\xE6\x99\xA8...' for column 'user_name' at row 1
  2. 统计字段中出现字符串的次数
  3. CodeForces 274B Zero Tree :每次选包含1节点的一棵子树,将该子树所有值都+1或者-1最少多少步可以使树值全部为0 :树型dp...
  4. SQL Server XML格式化
  5. 22号大更新网站大面积降权的原因分析
  6. zz推荐的软件测试英文网站
  7. android学习-1
  8. 【mongoDB实战】mongoDB数据导入和导出
  9. 通过PHP自带的$_SERVER判断 手机访问网站自动跳转到手机版
  10. mac系统不能使用127.0.0.2的解决方案