print(“\ r \ n”),从任务计划程序运行时无法正常工作

问题描述 投票:0回答:1

如果我启动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 windows
1个回答
0
投票

默认的python print行为:

print(*objs, sep=' ', end='\n', file=sys.stdout, flush=False)

如您所见,默认情况下,所有打印调用都会生成一个新行。要省略此类行为,您可以自己指定结束符号:

print("\rscript - %s - not yet complete ...", end="")
© www.soinside.com 2019 - 2024. All rights reserved.