引言
嗨,我是Python新手。我一直在努力解决当前的问题。我似乎在任何地方都找不到关于这个问题的结果。我已经尝试了几种方法来实现这一点,我们将在有问题的部分讨论。
成问题
因此,我首先想到的是通过os在python脚本中使用cmd命令。
import os
os.system('for /f "tokens=6 delims=[]. " %%G in ("ver") do if %%G lss 16299 && exit')它的琐碎"ver“没有定义。所以我想用另一种方式来实现这个“毕思罗”
毕斯东
好的,在python中,我可以通过以下操作来检查windows构建版本:
import sys
sys.getwindowsversion()上面的代码将产生stdout:
sys.getwindowsversion(major=10, minor=0, build=19041, platform=2, service_pack='')问题是,由于我的知识有限,我不能从那个标准中执行任何事情。如果构建版本没有满足或低于要求,我计划稍后使用"else if“来使脚本退出。我正在把脚本升级到windows build=16299..。因此,我考虑使用以下方法将stdout转换为string:
from io import StringIO
stdout = sys.stdout
s = StringIO()
sys.stdout = s
sys.getwindowsversion()
sys.stdout = stdout
s.seek(0)
s.read()但是它将是一样的,我不能做任何事情的标准。不知何故,我能达到规格吗?
发布于 2020-11-03 10:57:15
要隔离版本号,请执行以下操作:
winver = str(sys.getwindowsversion()).split(', ')
for i in winver:
if 'build=' in i:
build_lst = [winver[i] for i in [winver.index(i)]]
build_num = int(" ".join(str(i) for i in build_lst)[6:])'winver‘变量是列表形式的sys.getwindowsversion()。为winver中的每个元素搜索字符串“build=”。从该元素的索引中创建一个新字符串并隔离整数。最后一个变量存储为build_num。
https://stackoverflow.com/questions/64660803
复制相似问题