通过刷新标准清除终端上的最后转储文本

时间:2016-10-03 16:42:34

标签: python stdout flush

嗨我有点忘了过去我记得已经完成清除终端上的最后一个打印文本似乎无法正常工作我现在在做什么

foreach ($array1 as $arr) {
    $options[] = current($arr);  // COnverted to 1-d array
    /* Result:  Array ( [0] => B00CEEZ57S [1] => B002QJZADK [2] => B001EHL2UK [3] => B003FSTNB6 )*/
}

/* Filter $array2 and obtain those results for which ['ASIN'] value matches with one of the values contained in $options */
$result = array_filter($array2, function($v) use ($options) {
    return in_array($v['ASIN'], $options);
});

任何人都可以通过一些亮点吗?

1 个答案:

答案 0 :(得分:0)

如果你真的要清除屏幕你应该使用curses或ncurses

然而,有些黑客是

  • \b退格符...允许你写下最后一个字符

  • \r回车没有换行...这会将光标移动到大多数终端当前行的开头(允许你“覆盖”当前行)...

  • 还有一些非常特定于终端的疯狂十六进制转义码

os.system('cls')os.system('clear')将根据您的操作系统进行排序

如果您只想flush当前stdout只是sys.stdout.flush()