我正在创建一个需要进度条的小型控制台应用程序。就像是…
Conversion: 175/348 Seconds |========== | 50%
我的问题是,如何删除已经打印到控制台的字符?当我达到第51个百分比时,我必须从控制台中删除此行并插入新行。在我当前的解决方案中,这就是发生的事情…
Conversion: 175/348 Seconds |========== | 50% Conversion: 179/348 Seconds |========== | 52% Conversion: 183/348 Seconds |========== | 54% Conversion: 187/348 Seconds |=========== | 56%
我使用的代码是…
print "Conversion: $converted_seconds/$total_time Seconds $progress_bar $converted_percentage%\n";
我正在使用PHP在Linux中进行此操作(只有我会使用该应用-请原谅语言选择)。因此,该解决方案应在Linux平台上运行- 但是,如果您有跨平台的解决方案,那将是更好的选择。
我认为您无需为语言选择道歉。PHP是控制台应用程序的绝佳语言。
试试看:
<?php for( $i=0;$i<10;$i++){ print "$i \r"; sleep(1); } ?>
“ \ r”将用新文本覆盖该行。要换行,您可以只使用“ \ n”,但是我想您已经知道了。
希望这可以帮助!我知道这可以在Linux中使用,但是我不知道它是否可以在Windows或其他操作系统上使用。