尝试将身份验证令牌作为系统变量存储在python中,但在打印时返回无效

我有一个身份验证令牌我试图将其作为系统变量存储在Windows 10中,我尝试创建一个名为'SLACK_BOT_USER_TOKEN'的新用户变量“和同名的新系统变量,其值设置为我的验证码,然后在Python 3.6运行这段代码:尝试将身份验证令牌作为系统变量存储在python中,但在打印时返回无效

import os 

print(os.getenv('PATH'))

print(os.getenv('SLACK_BOT_USER_TOKEN'))

返回我的PATH(预期)和‘无’。为什么它不能识别我创建的新变量?我正在使用powershell以管理员身份运行脚本。

回答:

CMD和PowerShell等进程在启动时会获取环境的副本。修改原始环境变量时,此副本不会更新。除了修改系统设置中的变量外,还需要重新启动进程以获取更新的值或修改复制的变量。

示范:

PS C:\>echo $env:FOO

PS C:\>python

Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (Intel)] on win32

Type "help", "copyright", "credits" or "license" for more information.

>>>import os

>>>print(os.getenv('FOO'))

None

>>>exit()

PS C:\>$env:FOO = 'bar'

PS C:\>echo $env:FOO

bar

PS C:\>python

Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (Intel)] on win32

Type "help", "copyright", "credits" or "license" for more information.

>>>import os

>>>print(os.getenv('FOO'))

bar

回答:

真是愚蠢的解决方案。我不得不重新启动我的电脑。上帝帮助我。

以上是 尝试将身份验证令牌作为系统变量存储在python中,但在打印时返回无效 的全部内容, 来源链接: utcz.com/qa/266852.html

回到顶部