Powershell输出为数组(Python)

问题描述 投票:1回答:1

我正在尝试将Get-Printer | select Name的Porwershell输出放入选项菜单。例如,我如何将输出放入数组?当前,输出仅在一行中。每台打印机都是一个选项。

我正在使用tkinter。这是我的OptionMenu

variable = StringVar(tkWindow)
variable.set(OptionList[0])
optionPrinter = OptionMenu(framePrinter, variable, *OptionList)
optionPrinter.place(x=5, y=35, width=270, height=25)

我的Powershell流程如下所示:

process=subprocess.Popen(["powershell","Get-Printer | select Name"],stdout=subprocess.PIPE);
result=process.communicate()[0]
python arrays powershell tkinter subprocess
1个回答
0
投票

[Select -Expand Name似乎工作正常,但是当您将整个过程的输出带入python变量时,会将其视为一行。

您需要将结果分成result=process.communicate()[0].splitlines()之类的数组。

示例代码如下:>

from tkinter import *
import subprocess
root = Tk()
process=subprocess.Popen(["powershell","Get-Printer | select -Expand Name"],stdout=subprocess.PIPE);
result=process.communicate()[0].splitlines()
print(result[0])
print(result[1])
© www.soinside.com 2019 - 2024. All rights reserved.