如果我启动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)
预期:仅打印到一行
实际(在任务计划程序中运行时):每次打印到新行
答案 0 :(得分:0)
默认的python print
行为:
print(*objs, sep=' ', end='\n', file=sys.stdout, flush=False)
如您所见,默认情况下,所有打印呼叫都在换行。要忽略这种行为,您可以自己指定结束符号:
print("\rscript - %s - not yet complete ...", end="")