我正在创建一个脚本来连接存储阵列并运行命令。
sys.source("step1.R", envir=e1)
输出是这样的:
stdin, stdout, stderr = ssh.exec_command("statvv -rw -iter 1")
for status in stdout:
result = (status)
print(result)
但我想只打印V90Z_10_3PAR05 t 0 0 0 0 0 0 0.00 0.00 0.0 0.0 0
V91A_10_3PAR05 r 0 0 0 0 0 0 0.00 0.00 0.0 0.0 -
V91A_10_3PAR05 w 0 0 0 0 0 0 0.00 0.00 0.0 0.0 -
V91A_10_3PAR05 t 0 0 0 0 0 0 0.00 0.00 0.0 0.0 0
--
309 r 1577 1577 112637 112637 1.83 1.83 71.4 71.4 -
309 w 20158 20158 1125017 1125017 1.49 1.49 55.8 55.8 -
309 t 21736 21736 1237653 1237653 1.52 1.52 56.9 56.9 7
之后的最后一行而不将其保存到文件中。
答案 0 :(得分:0)
我不熟悉statvv,但是如果你知道你想要的行总是在读取行stdin, stdout, stderr = ssh.exec_command("statvv -rw -iter 1")
final_status = False
for status in stdout:
if final_status:
print(status)
elif status == '--':
final_status = True
之后,你可以保留一个跟踪你是否已经看过它的布尔值:
-device usb-mouse -device usb-kbd
答案 1 :(得分:0)
如果您知道要跳过的行数,那么您可以保留一个计数器并执行以下操作:
counter = 0
MAX_COUNT = number_of_lines_you_want_to_skip
for status in stdout:
if counter > MAX_COUNT:
result = (status)
print(result)
else:
counter ++
如果您不知道这些行,您可以继续阅读,直到看到"--"
(这是您问题中的代码段),然后仅打印{{1}之后的那些行。 }
"--"
希望这有帮助!