gpt4 book ai didi

python - os.environ 没有显示一些变量

转载 作者:IT王子 更新时间:2023-10-29 01:14:41 25 4
gpt4 key购买 nike

我有一个使用 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 "<string>", line 1, in <module>
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 - os.environ 没有显示一些变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7110587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com