Python os.getenv返回None,在Windows 10上缺少var

时间:2017-02-15 16:49:15

标签: python windows python-3.x batch-file windows-10

(> = Python 3.4)

使用os.getenv(),我无法检索某些环境变量,例如%DATE%%TIME%

例如:

print(os.getenv('computername'))  # works
print(os.getenv('date'))  # not working, returning None
print(os.getenv('time'))  # not working, returning None

所以我检查了var env python列表可以通过这个检测: [print(var) for var in os.environ] 它会产生很多env的列表,但至少缺少datetime。 一个奇怪的事情是列表的最后一项是None个对象的列表,可能是缺少的var env,但只在使用交互式控制台时出现..因此不在列表中......或者可能是一些文物交互式控制台中使用的打印功能?

尝试

import os
varenv = [var for var in os.environ]
[print(var) for var in varenv]`

使用命令行中的交互式控制台

最后,当你在Windows cmd中时,echo %date% %computername%效果很好,这些var之间没有不同的处理。

我认为它可能与unicode有关,但在我的研究中还没有找到任何答案:为什么%DATE%%TIME%%computername%期间不能正常工作?

1 个答案:

答案 0 :(得分:1)

事实上,%DATE%%TIME%不是环境变量。

请参阅此Microsoft文档User Environment Variables以查看系统的环境变量列表。