【问题标题】:How can python get %SystemRoot% without CMD 'echo %SystemRoot%'? [closed]python 如何在没有 CMD 'echo %SystemRoot%' 的情况下获得 %SystemRoot%? [关闭]
【发布时间】:2020-08-10 20:26:36
【问题描述】:

Python如何在不参考CMD命令echo %SystemRoot%的情况下找到Windows系统根目录?

【问题讨论】:

  • 你试过import os; os.path.expandvars("%SystemRoot%")吗?

标签: python windows cmd system root


【解决方案1】:

使用 Python 操作系统模块。

# Get environment variables
sr = os.getenv('SystemRoot')
sr = os.environ.get('SystemRoot')

https://able.bio/rhett/how-to-set-and-get-environment-variables-in-python--274rgt5

要查看 os 模块还能做什么,请使用:

dir(os)

要查看项目的详细信息,请使用:

print(os.getenv.__doc__)

【讨论】:

  • 通常脚本会使用os.environ['SystemRoot'],如果未定义环境变量,则会引发KeyError。也许错误可以处理,缺少“%SystemRoot%”可以通过使用ctypes调用GetSystemDirectoryW来处理。 OTOH,如果未定义环境变量,os.environ.get 将返回 None。如果代码没有检查这个标记值,那么稍后当脚本尝试将结果用作字符串时,它只会得到一个异常。我知道链接页面解释了这些返回值,但它太基本了,不能从答案中省略。
猜你喜欢
  • 1970-01-01
  • 2011-02-13
  • 1970-01-01
  • 2012-08-27
  • 1970-01-01
  • 1970-01-01
  • 2011-07-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多