Как преобразовать функцию Powershell для работы в скрипте Python? - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть функция в Powershell, которая, учитывая путь к папке, возвращает вычисленный хеш.Мне нужно, чтобы он работал в скрипте Python.Мой вопрос: как я могу преобразовать его для работы в Python?Спасибо.

function Get-FolderHash ($folder) {
 dir $folder -Recurse | ?{!$_.psiscontainer} | %{[Byte[]]$contents += [System.IO.File]::ReadAllBytes($_.fullname)}
 $hasher = [System.Security.Cryptography.SHA1]::Create()
 $a = [string]::Join("",$($hasher.ComputeHash($contents) | %{"{0:x2}" -f $_}))
 Write-Host $a
}
Get-FolderHash "PATH_TO_FOLDER"

1 Ответ

0 голосов
/ 21 февраля 2019

Простой параметр позволяет Python запускать Powershell и перехватывать std_out:

подпроцесс импорта, sys

p = subprocess.Popen (["powershell.exe", "C: \ Users \ USER \ Desktop \ helloworld.ps1 "], stdout = sys.stdout)

p.communicate ()

ссылка

Но возможно, вы также можете попытаться убрать Powershell и позволить Python обработать все

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...