/
Russid
/
python_advanced
Обзор
Документация
Войти
/
Russid
/
python_advanced
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
module_06_debugging_begin/hw_check/run_in_subprocess.py
23 строки
728 B
sergei.krotov
Added hw_check (module_06)
10 сен 2020, 21:22
10 сен 2020, 21:22
c8fb6e4
Код
Авторство
О чём код?
import shlex import subprocess from typing import Tuple def run_python_code_in_subprocess(code: str, timeout: int) -> Tuple[str, str, bool]: command = f'python3 -c "{code}"' command = shlex.split(command) process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, ) was_killed_by_timeout = False try: outs, errs = process.communicate(timeout=timeout) except subprocess.TimeoutExpired: process.kill() outs, errs = process.communicate() was_killed_by_timeout = True return outs.decode(), errs.decode(), was_killed_by_timeout if __name__ == "__main__": output, _, _ = run_python_code_in_subprocess("print('hello')", 5) print(output)