Что такое Python эквивалентный $ | = 1 в Perl - PullRequest
0 голосов
/ 07 октября 2018

Привет, я очень новичок в Perl и CGI.

Я пытаюсь преобразовать Perl-скрипт в python.

Упоминается $ | = 1 * 1006.* в сценарии.Что я понял, так это то, что он очищает буфер.

Я ищу, есть ли какой-нибудь эквивалент Python, чтобы сделать точную вещь.

Любые предложения ??

1 Ответ

0 голосов
/ 07 октября 2018

Я бы подумал не беспокоиться о портировании этой линии в данный момент, поскольку сброс stdout после каждого print, вероятно, будет наименьшим из ваших беспокойств по переносу.

Но если это так, у вас есть многопараметры:

  • Просто добавьте аргумент ключевого слова flush=True в вызов функции print.
  • Запустите Python в режиме «без буферизации» спереключатель -u .
  • Повторно открыть стандартный вывод в небуферизованном режиме (например, последний 0 in):
    • sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)
  • Напишите print функцию-обертку, которая затеняет встроенный print и очищает стандартный вывод
  • Напишите TextIOWrapper объект, который обертывает sys.stdout и очищает

I 'Я постараюсь найти ссылки для остальных пунктов и отредактировать их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...