Код: Выделить всё
test
У меня есть программа на Python, показанная ниже: р>
Код: Выделить всё
import subprocess
from pathlib import Path
...
def run_exe():
try:
# get current directory
currdir = Path.cwd()
datadir = currdir / "data"
#print(currdir)
#print(datadir)
process = subprocess.run(["./test"], shell=False, capture_output=True, text=True, cwd=datadir)
if(process.stderr):
print("stderr:", process.stderr)
return JSONResponse(content={"success": False}, status_code=400)
if(process.returncode == 0):
print(process.stdout)
return JSONResponse(content={"success": True})
except OSError as e:
print(e)
except subprocess.CalledProcessError as e:
print(e)
except Exception as e:
print(type(e).__name__) # Prints the name of the exception class
print(e) # Prints the exception message
[*]Поместив subprocess.run(["ls"], он показывает правильный каталог и файлы, включая тест
[*]Ввод subprocess.run(["ls", -l "], в тесте показано разрешение на выполнение
[*]Я попробовал перейти в родительский каталог и запустить.
[*]Я попробовал subprocess.run(["test"] ...) без ./
[*]Я попробовал изменить Shell=True, но все равно выдает ошибку.
С помощью обеих команд ls (2 и 3) он печатает выходные данные.
Я получаю ошибку OSError: [Errno 2] Нет такого файл или каталог: './test'
Будем очень благодарны за любую помощь
Подробнее здесь: https://stackoverflow.com/questions/787 ... nerated-fi