我有一个环境变量,我使用profile.d设置(在Centos 6上),如下所示:

[bankap@tnt-integration-test ~]$cat /etc/profile.d/tnt.sh

TNT_SERVER_URL=http://tnt-integration-test:8000/

当我登录时,我看到变量:

[bankap@tnt-integration-test ~]$echo $TNT_SERVER_URL

http://tnt-integration-test:8000/

但是当我使用Python访问该东西时,环境变量不会显示出来!

[bankap@tnt-integration-test ~]$python -c 'import os;os.environ.get("TNT_SERVER_URL")'

Traceback (most recent call last):

File "", line 1, in

NameError: name 'TNT_SERVER_URL' is not defined

我甚至尝试使用ctypes库,结果相同:

>>> os.getenv('TNT_SERVER_URL')

>>> from ctypes import CDLL, c_char_p

>>> getenv = CDLL('libc.so.6').getenv

>>> getenv('TNT_SERVER_URL')

0

>>>

但其他变量恰好通过……

os.environ

{‘SSH_ASKPASS’: ‘/usr/libexec/openssh/gnome-ssh-askpass’, ‘LESSOPEN’: ‘|/usr/bin/lesspipe.sh %s’, ‘SSH_CLIENT’: ‘139.126.176.137 56535 22’, ‘SELINUX_USE_CURRENT_RANGE’: ”, ‘LOGNAME’: ‘bankap’, ‘USER’: ‘bankap’, ‘QTDIR’: ‘/usr/lib64/qt-3.3’, ‘PATH’: ‘/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/bankap/bin’,

有人有什么想法吗?我以前从未见过这个!

解决方法:

你有一个引用问题:

更改

python -c 'import os;os.environ.get('TNT_SERVER_URL')'

python -c 'import os;os.environ.get("TNT_SERVER_URL")'

^ ^

您(可能)也需要导出变量:

export TNT_SERVER_URL; python -c 'import os;os.environ.get("TNT_SERVER_URL")'

标签:python,linux

python os.environ 不生效_python – os.environ没有显示一些变量相关推荐

  1. python os模块打开文件_python OS 模块 文件目录操作

    os模块中包含了一系列文件操作的函数,这里介绍的是一些在Linux平台上应用的文件操作函数.由于Linux是C写的,低层的libc库和系统调用的接口都是C API,而Python的os模块中包括了对这 ...

  2. python os.path.join乱码_python os.listdir()乱码解决方案

    计算机一般来说是需要定期的清理,系统的内存不能无限延伸,同时有一些不需要的文件也可以得以清除掉.有些人会使用os.remove来进行文件的清楚,从而导致一些错误的出现,可以说这是对于os.remove ...

  3. python os.system返回值_python os.system()返回值判断

    最近遇到os.system()执行系统命令的情况,上网搜集了一下资料,整理如下,以备不时之需,同时也希望能帮到某些人. 一.python中的 os.system(cmd)的返回值与linux命令返回值 ...

  4. python中os模块详解_Python OS模块(常见文件操作示例)

    1 Python 常见文件操作示例 2. 3. os.path 模块中的路径名访问函数 4. 分隔 5. basename() 去掉目录路径 , 返回文件名 6. dirname() 去掉文件名 , ...

  5. python读取文件属性详细信息_Python os.stat()函数:获取文件基本信息

    文件创建后,该文件本身就会包含一些基本信息,例如文件的大小.最后一次修改时间.最后一次访问时间等.通过 os 模块中的 stat() 函数可以获取到文件的这些基本信息. stat() 函数的基本语法格 ...

  6. python中字符串怎么引用_Python:字符串中引用外部变量的3种方法

    方法一: username=input('username:') age=input('age:') job=input('job:') salary=input('salary') info1='' ...

  7. python布尔值的作用_Python基础教程详解布尔变量的作用

    布尔值也叫真值,在Python开发(http://www.maiziedu.com/course/python-px/)中所有的值都被解释为真值,标准的真值为true和false.那么布尔变量在Pyt ...

  8. python os.environ_Python拓展11(os.environ获取与设置系统变量)

    os.environ获取与设置系统变量 1.简介 对于官方的解释,environ是一个字符串所对应环境的映像对象.这是什么意思呢?举个例子来说,environ['HOME']就代表了当前这个用户的主目 ...

  9. python os模块是什么_python常见模块之os模块

    os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd os.curd ...

最新文章

  1. 集成算法-Xgboost
  2. 算法-- 删除排序链表中的重复元素(Java)
  3. java log 封装_工具类之LogUtils
  4. react小测试忘记一个细节不显示
  5. JavaScript中十个一步拷贝数组的方法
  6. java jdbc连接db2数据库_Java连接db2数据库(常用数据库连接五)
  7. Python 元组tuple - Python零基础入门教程
  8. linux mysql 6.0.4 启动_MySQL Connector/J 6.x jdbc.properties 配置, mysql-connector-java-6.0.4.jar 异常...
  9. 存储器和 I/O 端口有哪两种编址方式?简要说明各自特点
  10. MFC ------- AfxGetMainWnd( )
  11. MovieLens 1M 数据集
  12. 计算机体系结构.是系统结构还是体系结构
  13. Webx系列之文件上传
  14. 基于非洲秃鹫优化算法的函数寻优算法
  15. js 获取指定日期的前几天日期或后几天日期
  16. Python用requests库+BeautifulSoup库+re库获取微博热搜(有详解)
  17. NVP6124I北京冠宇铭通 芯片
  18. 学术界与工业界收入差很多吗?
  19. 如何手动更新mac的固件
  20. 一个女人频繁做这些事,真的很爱你

热门文章

  1. 2010.04.22 工作之路 –263网络通信股份有限公司
  2. java jdk 有几个版本_JDK各个版本比较 JDK5~JDK10
  3. 编译原理习题(含答案)——2程序设计语言及其文法——哈工大陈鄞配套版本
  4. 【GPLT】 2021CCCC天梯赛题解
  5. OpenCV实践之路——人脸识别之三识别自己的脸
  6. dns劫持工具,局域网内的DNS劫持的方法和防范技巧
  7. MES模型与ISA-95标准
  8. 基于D2Admin 简化模板自己做的前端系统 (一)
  9. 用Wiwiz创建商用WiFi热点
  10. 【深度之眼吴恩达机器学习第四期】笔记(二)