如何将Powershell函数转换为在Python脚本中工作?

时间:2019-02-21 09:34:39

标签: python-2.7 powershell

我在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 :(得分:0)

一个简单的选项可以让Python执行Powershell并捕获std_out:

  

导入子进程sys

     

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

     

p.communicate()

reference

但是 也许您也可以尝试删除Powershell并让Python处理一切