![](/img/trans.png)
[英]Python os.getenv() returning None when set Windows environment variables
[英]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的列表,但至少缺少date
和time
。 奇怪的是,列表的最后一项是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.