我对Python完全陌生,有些事情我不知道该怎么做。在
我想做什么:
我希望能够在控制台的多行上动态重写输出。我已经看到了许多解决方案的单行输出,但没有那么多的多行。以下关于堆栈溢出的线程类似,但并没有完全解决我的问题(稍后我将解释原因):
另外,我希望能够将输出重定向到文件或管道(假设在上面提供的解决方案中,我将运行/脚本.py>;输出.txt如果我打断它,我希望中间进度条在输出文件中)。在
为什么我要这么做?
我试图解析一个连续的Json流,它看起来像这样:{
...valid Json data block...
},{
...Another valid Json data block...
}, etc...
最后,我想要的是(我需要帮助的过程是对唯一一个Json块的过滤器):
^{pr2}$
注意:我使用Json对我的问题并不重要,我说它主要是为了给你一个上下文。这个想法很简单,就是要有一个脚本管道来生成多个数据,对其进行过滤,使其一次包含一个数据,然后处理这些数据。在
我已经对流进行了解析,将我的Json块放在我想打印的字符串中(然后打印下一个要重写的字符串)。
动态刷新示例:{
"i": 0
}
控制台输出步骤1(我已经将所有信息存储在字符串中){
"i": 1
}
控制台输出步骤2{
"i": 2
}
控制台输出步骤3等。。。在
因此,第一个线程的答案对我的问题不起作用,因为我不能输出结果,第二个线程的答案也不起作用,因为同样的原因+这种清除屏幕的方法会把数据弄乱,这在下一个进程中不能正常使用。另一个可以解决我问题的方法是找到一种方法来连续忽略屏幕上的字符(我尝试过忽略第一个字符,它在第一次输入时起作用,然后就一团糟了)。在
如果有什么不清楚的,请告诉我。谢谢!在