Есть ли способ получить полный номер сборки Windows в python?

#python #windows #operating-system

Вопрос:

Я борюсь с номером сборки Windows, я хочу получить его в полном размере, поэтому включены десятичные числа, я нашел только этот код:

 version = sys.getwindowsversion()
print(version.build) 
 

на выходе получается:

 19043
 

но мне нужно получить полную длину номера сборки :C, как я могу преодолеть эту проблему?

РЕШЕНИЕ, ОСНОВАННОЕ:

 import os
os.system('ver')
 

выход:

 Microsoft Windows [Version 10.0.19043.1052]
 

тай все

Комментарии:

1. Ты имеешь в виду '.'.join([str(x) for x in sys.getwindowsversion()]) или даже '.'.join([str(x) for x in sys.getwindowsversion() if x!='']) ?

2. пока это работает, да, я попробую и дам вам знать

Ответ №1:

Вы получили доступ к остальным номерам сборки через version.major , version.minor

 sys.getwindowsversion(major=10, minor=0, build=19041, platform=2, service_pack='')
 

В качестве альтернативы вы можете использовать

 import platform
platform.version()
platfotm.platform()
 

результат выглядит следующим образом :

 '10.0.19041'
'Windows-10-10.0.19041-SP0'
 

Редактировать

Это еще один вариант. Запустите скрипт powershell с python и перехватите вывод. Первое, что нужно сделать, это разрешить запускать команды powershell извне : Set-ExecutionPolicy RemoteSigned запускайте в PS, а не используйте такой код, как :

 import subprocess, sys

p = subprocess.Popen(["powershell.exe", 
              "Get-ItemProperty -Path c:windowssystem32hal.dll.VersionInfo.FileVersion"], 
              stdout=sys.stdout)
p.communicate()
 

результат должен быть таким :
10.0.19041.964 (WinBuild.160101.0800)

Комментарии:

1. к сожалению, нет, мне нужна десятичная точка после «19041.и т. Д.»