Похоже, что Pyright (средство проверки типов Python, созданное Microsoft) можно использовать только как инструмент командной строки. или из VS Code. Но можно ли вызвать пирайт из кода (как API)?
Например, mypy поддерживает использование типа:
import sys
from mypy import api
result = api.run("your code")
2 ответа
Как сказал @Grismar, это может быть проблема xy... если нет, вот общее решение:
import subprocess
command = ['pyright', 'path/to/your/file.py']
result = subprocess.run(command, capture_output=True, text=True)
output = result.stdout
print(output)
Также вы можете использовать это решение:
import subprocess
try:
command = ['pyright', 'path/to/your/file.py']
result = subprocess.run(command, capture_output=True, text=True, shell=True)
if result.returncode !=0:
print(f'Return Code Not Zero : {result.returncode}')
print(f'Stderror : {result.stderr}')
output = result.stdout
print(f'Stdout :{output}')
except subprocess.CalledProcessError as e:
print(f"[CalledProcessError]: {e}")
except FileNotFoundError as e:
print(f"[FileNotFoundError]: {e}")
except Exception as e:
print(f"[Other error occurred]: {e}")
Похожие вопросы
Новые вопросы
python
Python — это мультипарадигмальный многоцелевой язык программирования с динамической типизацией. Он предназначен для быстрого изучения, понимания и использования, а также обеспечивает чистый и унифицированный синтаксис. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Если у вас есть вопросы о версии Python, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas, NumPy) укажите это в тегах.
subprocess
для вызова командной строки?