gpt4 book ai didi

python - 为什么我看不到通过 "os.environ[]"设置的环境变量

转载 作者:行者123 更新时间:2023-12-04 09:52:10 46 4
gpt4 key购买 nike

我使用 python 3.6 os.environ[] 来设置/获取变量。
我的问题是 - 为什么 Linux 命令 #pritenv 不显示这些变量?
这是示例:

[root@server ~ 508]$cat test.py       
import os
os.environ['foo'] = 'bar'
print(os.environ['foo'])
[root@server ~ 509]$
[root@server ~ 509]$
[root@server ~ 509]$python3.6 test.py
bar
[root@server ~ 510]$printenv | grep foo
[root@server ~ 511]$ ((nothing))

最佳答案

您所看到的是进程和环境变量在 Linux(以及大多数其他操作系统)中的工作方式的结果。每个进程从其父进程继承环境变量,但不会(也不能)影响其父进程的环境。具体来说,在您的情况下,您有:

  • sh(或其他一些 shell),带有一些环境变量(例如 X、Y、Z)。
  • Python,它创建了一个新的环境变量 'foo',然后死亡。
  • printenv , 打印其所有环境变量,这些变量是从其父级 - shell 获得的变量。
  • 关于python - 为什么我看不到通过 "os.environ[]"设置的环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61997500/

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