我想初始化一个powershell子进程,并能够向它发送命令,然后接收它的输出。
与通常的subprocess.Popen([' powershell',' ...'])用例略有不同,因为理想情况下我希望我的PowerShell会话在我的脚本中保持不变正在运行。
这是因为我可能需要运行100多个命令(Get-ADUser等等),并且加载powershell控制台和加载Active Directory模块的启动成本非常高。
粗略地说我想象的是以下内容(虽然我知道这不起作用):
class ActiveDirectory:
def __init__(self):
self.proc = subprocess.Popen(['powershell'], stdin.., stdout..)
def run_command(self, command):
output = self.proc.communicate(command)
return output
我无法使用子进程模块找到一种明显的方法。
有没有人知道如何操作子进程来实现这一目标?或者是否有其他工具可以为子流程提供更丰富的界面?可能是twisted.reactor?
谢谢, O操作。
答案 0 :(得分:1)