如果我启动cmd.exe,进入python控制台并测试以下代码,控制台只按预期打印到一行。
如果我通过从任务调度程序启动python文件来运行相同的代码,它会每秒在新行上打印出相同的句子。
我希望它的行为与我通过cmd.exe运行它一样。(即:仅打印到一行并每次覆盖当前行)
我尝试让任务调度程序在cmd.exe中运行python脚本,但它似乎只是运行taskeng.exe作为外壳。
import time
reportToCheck = 'Application and Acquisition Loader2'
for x in range(5):
for y in range(60):
print("\rscript - %s - not yet complete, checking again in: %02d:%02d" %(reportToCheck, 4-x, 59-y)),
time.sleep(1)
预期:仅打印到一行
实际(在任务计划程序中运行时):每次打印到新行
默认的python print
行为:
print(*objs, sep=' ', end='\n', file=sys.stdout, flush=False)
如您所见,默认情况下,所有打印调用都会生成一个新行。要省略此类行为,您可以自己指定结束符号:
print("\rscript - %s - not yet complete ...", end="")