尝试将身份验证令牌作为系统变量存储在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