Português
Abrir no Telegram

Mensagem🟢 Потоки введення/виведення. Практика.

30 de dezembro de 2025
P
🟢 Потоки введення/виведення. Практика. У Python для створення підпроцесів використовується бібліотека subprocess. Вона дозволяє запускати програми та працювати з їхніми потоками введення/виведення. subprocess добре підходить для простих випадків з синхронном кодом. Але цікавіше розглянути асинхронний приклад з asyncio, який працює одразу з усіма трьома потоками введення/виведення. Ідея проста: запускаємо Python у інтерактивному режимі та виконуємо дві операції — 2+2 і 1/0. import asyncio import sys async def read_stream(name: str, stream: asyncio.StreamReader): while data := await stream.readline(): line = data.decode("utf8").rstrip() print(f"[{name}]", line) async def main(): process = await asyncio.create_subprocess_exec( sys.executable, "-i", # python -i stdin=asyncio.subprocess.PIPE, stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.PIPE, ) stdout_task = asyncio.create_task( read_stream("stdout", process.stdout), ) stderr_task = asyncio.create_task( read_stream("stderr", process.stderr), ) process.stdin.write(b"2+2\n") await process.stdin.drain() process.stdin.write(b"1/0\n") await process.stdin.drain() process.stdin.write(b"exit()\n") await process.stdin.drain() await process.wait() # Чекаємо завершення підпроцесу Вивід у консоль: [stderr] Python 3.11.6 (tags/v3.11.6:8b6ee5b, Oct 2 2023, 14:57:12) [MSC v.1935 64 bit (AMD64)] on win32 [stderr] Type "help", "copyright", "credits" or "license" for more information. [stdout] 4 [stderr] >>> >>> Traceback (most recent call last): [stderr] File "<stdin>", line 1, in <module> [stderr] ZeroDivisionError: division by zero [stderr] >>> Як бачимо ми отримали текст окремо stdout і окремо stderr. Звісно аналогічним чином ми можемо запускати системі утіліти або інші програми написані на інших мовах програмування — це простір для автоматизації. Але трохи дивно чому python пише текст привітання саме у stderr
1 · 721 ·

Por perto no feed

PPython Materials For Beginners🟣 Потоки вводу/виводу (Input/Output Streams, stdin/stdout/stderr) Повернемось до теми Корисні речі, які варто знати про процес У попередньому прикладі коду я виPPython Materials For Beginners ChatПравильні відповіді: ✅ git reset A.txt ✅ git restore --staged A.txt reset може приймати не тільки ґеш коміту але й файл. По суті виконується скорочена версія gi
esta mensagem
PPython Materials For BeginnersЗнову git www.youtube.com/watch?v=y6meVhckYmQ #gitТТочка or Крапка/report

Um feed público aberto do índice de busca ChatCrawler — “o Google do Telegram público”; atualizado à medida que a comunidade é rastreada. Horários em UTC.

Somente conteúdo público, API oficial do Telegram. Sobre · Perguntas frequentes · Limites do índice · Remover uma página · Catálogo · Busca · Como calculamos