我正在制作一个 python 脚本,它需要比较两个程序的标准输出,它使用
subprocess
运行两个二进制文件并收集它们的标准输出。但是,根据我比较的程序,stdout 格式会有所不同。我希望能够为我的许多程序中的每一个定义一个“output_collector
”类,它将结果转换为仅包含需要比较的数据的通用格式,然后有条件地从命令行包含此类。
我理想的程序界面应该是这样的
python3 compare_outputs.py --prog1 binary1 --prog1-collector ../path/to/prog1/output_collector.py --prog2 binary2 --prog2-collector ../path/to/prog2/output_collector.py
然后在主脚本中执行如下操作:
data1 = collect1(prog1_stdout)
data2 = collect2(prog2_stdout)
results = compare(data1,data2)
这可能吗,或者是否有明显更好的方法来实现我所缺少的?