gpt4 book ai didi

python - 将输出读入 os.system 命令中的变量

转载 作者:太空宇宙 更新时间:2023-11-04 12:11:51 25 4
gpt4 key购买 nike

我有一个在 Linux 中运行的 python 脚本。我需要捕获命令的输出并存储到变量中,然后打印输出。代码如下。

#!/usr/bin/python
import os, time
systime=os.popen('date +"%m-%d-%y-%T"').read()
os.system("read c1 c2 c3 c4 c5 c6 < <(sar -u 1 1 | awk 'NR==4, NR==4 {print $4, $5, $6, $7, $8, $9}')")
os.system("echo $systime,$c1,$c2,$c3,$c4,$c5,$c6 >> outputfile.txt")

我正在收集命令 sar -u 1 1 | 给出的输出awk 'NR==4, NR==4 {print $4, $5, $6, $7, $8, $9}') 到 6 个变量 - c1, c2, c3, c4, c5 c6 使用读取命令。当我尝试执行上面的代码时,出现以下错误 -

sh: -c: line 0: syntax error near unexpected token `<'

我什至尝试使用 os.popen 而不是 os.system 但最终还是得到了同样的错误。建议我如何使用 os.system 命令存储变量以及如何在后期使用它们。我的目标是打印所有变量,包括捕获到输出文件 outputfile.txt 中的时间。时间差

最佳答案

这就是我说“你不能用 python 完成的任务是什么”的意思:

#!/usr/bin/python3
from subprocess import run, PIPE
from datetime import datetime

output = run(['sar','-u','1','1'], stdout=PIPE).stdout.decode()
line = output.split("\n")[3] # 4th line
values = line.split()[-6:] # last 6 fields

now = datetime.now().strftime("%m-%d-%y-%T")

print(",".join([now] + values))

关于python - 将输出读入 os.system 命令中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48642031/

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