print ("\ r"), не работает должным образом при запуске из планировщика задач - PullRequest
0 голосов
/ 30 апреля 2019

Если я запускаю cmd.exe, захожу в консоль python и тестирую следующий код, консоль печатает только одну строку, как и предполагалось.

Если я запускаю тот же код, запуская файл python из планировщика задач, он каждую секунду выводит одно и то же предложение в новую строку.

Я хочу, чтобы он вел себя так же, как если бы я запускал его через cmd.exe (т. Е. Печатал только одну строку и каждый раз перезаписывал текущую строку)

Я попытался заставить планировщик задач запустить скрипт python в cmd.exe, но все, что он, похоже, делает, это запускает 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)

ожидается: печать только в одну строку

актуально (при запуске в планировщике задач): печатает на новую строку каждый раз

1 Ответ

0 голосов
/ 30 апреля 2019

Python по умолчанию print Поведение:

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

Как видите, все вызовы на печать по умолчанию выполняют новую строку. Чтобы опустить такое поведение, вы можете указать конечный символ самостоятельно:

print("\rscript - %s - not yet complete ...", end="")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...