我真的很难理解如何使用Python最好地操作Linux命令输出,并将感谢任何帮助或指针。
以下命令按名称返回CUPS服务器上安装的所有打印机的列表:
lpstat -v | awk '{print $3}' | sed 's/://g'
PRINTER1
PRINTER2
PRINTER5
PRINTER10
...
字符串
但是我不知道使用Python实现这一点的最佳方法。
我可以从lpstat
命令中获得完整的输出,并将其存储在一个变量中:
installed_printers = subprocess.check_output(["lpstat", "-v"]).decode('utf-8')
型
但是,我真的不知道最好的方法来获得,说,只是在第三列的打印机名称?或者我想做的另一件事是得到一个列表的打印机名称沿着只是IP,然后把它放在一个dataframe。从命令行中,我可以得到:
# lpstat -v | awk '{sub(":", "", $3) sub("ipp://", "", $4) sub("/ipp/print", "", $4); print $3 ", " $4}'
型
任何帮助实现这一点与python将不胜感激。
1条答案
按热度按时间7xllpg7q1#
试试这样的
字符串
如果你的行中有空格,就在那里进行分割。注意,输出看起来像这样
型
要使用它,只需按如下方式通过管道传输命令的输出
型