gpt4 book ai didi

python - 如何从 linux 中的打印输出中获取一行?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:24:27 25 4
gpt4 key购买 nike

我正在尝试从 subprocess.check_output 中提取一行,但到目前为止我还没有成功。我正在运行 Python 脚本,这是我的代码:

output = subprocess.check_output("sox /home/pi/OnoSW/data/opsoroassistant/rec.wav -n stat", shell=True)

这是我运行脚本时得到的结果:

Samples read:             80000
Length (seconds): 5.000000
Scaled by: 2147483647.0
Maximum amplitude: 0.001129
Minimum amplitude: -0.006561
Midline amplitude: -0.002716
Mean norm: 0.000291
Mean amplitude: -0.000001
RMS amplitude: 0.000477
Maximum delta: 0.002930
Minimum delta: 0.000000
Mean delta: 0.000052
RMS delta: 0.000102
Rough frequency: 272
Volume adjustment: 152.409

现在我想从此列表中获取第 9 行(RMS 振幅)。我已经用 sed 尝试过一些东西,但它没有回馈任何东西:

output = subprocess.check_output("sox /home/pi/OnoSW/data/opsoroassistant/rec.wav -n stat 2>&1 | sed -n 's#^RMS     amplitude:[^0-9]*\([0-9.]*\)$#\1#p0'",stderr= subprocess.STDOUT, shell=True)

谢谢

最佳答案

grep-ing 行怎么样?

output = subprocess.check_output("sox /home/pi/OnoSW/data/opsoroassistant/rec.wav -n stat 2>&1 | grep 'RMS     amplitude:'",stderr= subprocess.STDOUT, shell=True)

关于python - 如何从 linux 中的打印输出中获取一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37595502/

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