gpt4 book ai didi

python - 标准输出从 shell 获取前 1 行

转载 作者:行者123 更新时间:2023-12-04 08:27:16 26 4
gpt4 key购买 nike

我正在使用这样的子进程从 shell 获取输出。

 with subprocess.Popen(['bash', '-c', '. /root/myFile.sh;',
' func ' ], stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
bufsize=1,universal_newlines=True) as proc_launch:

for line in proc_launch.stdout:
print(line, end='')
它提供逐行输出,而我想以最后 3 或 4 行加上当前行的方式获得输出。有没有办法以干净的方式做到这一点?

最佳答案

如果我理解问题:您必须记住某些列表中的前几行并使用切片 [-3:]显示此列表中的最后 3 行。

previous_lines = list()

for line in proc_launch.stdout:
#remeber previous lines
previous_lines.append(line)

# get last 3 lines with current
text = ''.join(previous_lines[-3:])

# display it
print(text, end='')

顺便说一句:您可以使用变量轻松更改要显示的行数 [-count:]
# before `for`-loop

count = 3

# inside `for`-loop

text = ''.join(previous_lines[-count:])

关于python - 标准输出从 shell 获取前 1 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65199246/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com