#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.и т. Д.»