Итак, я нашел способ сделать это с помощью другого поста, который я нашел:
import subprocess
newCOMObjectTxt = ("$path = 'PATH_TO_SLDPRT_FILE';"
"$shell = New-Object -COMObject Shell.Application;"
"$folder = Split-Path $path;"
"$file = Split-Path $path -Leaf;"
"$shellfolder= $shell.Namespace($folder);"
"$shellfile = $shellfolder.ParseName($file);")
swLastSavedWithIdx = None
swFindLastSavedWithProp = subprocess.Popen (["powershell.exe", newCOMObjectTxt + \
"0..500 | Foreach-Object { '{0} = {1}' -f $_, $shellfolder.GetDetailsOf($null, $_)}"],
stdout = subprocess.PIPE)
while True:
line = swFindLastSavedWithProp.stdout.readline()
if b"SW Last saved with" in line:
swLastSavedWithIdx = int(line.split()[0])
break
if not line:
break
swLastSaveWithVersion = subprocess.Popen (["powershell.exe", newCOMObjectTxt + \
"$shellfolder.GetDetailsOf($shellfile, %i)" %swLastSavedWithIdx], stdout = subprocess.PIPE)
ver = str(swLastSaveWithVersion.stdout.readline(),'utf-8').strip()
По сути, я обнаружил, что вы можете получить все свойства файла с помощью нескольких Windows Команды Powershell. Мы пишем несколько быстрых команд в powershell, используя subprocess.Popen (), затем PIPE из STDOUT.