繁体   English   中英

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

[英]Python os.getenv returning None, missing var on 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%效果很好,这些变量之间没有任何不同的处理。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM