Запустите команду молекулы bash в проекте flask - PullRequest
0 голосов
/ 13 марта 2020

У меня следующая структура кода

  1. flask проект

    • | -> app1-> здесь я пишу следующий код
    • | -> app2
  2. ansible проект

    • | -> Роли-> Мирол-> Молекула
    • | -> Playbooks

Я хочу проверить ansible роли ролей, поэтому я использую python пакет молекул для этого

import subprocess

cmd = 'cd ~/ansible/roles/myrole && molecule lint'
out = subprocess.run(cmd, shell=False)

Каждый

Исключение [Ошибка 2] Нет такого файла для каталога

1 Ответ

0 голосов
/ 13 марта 2020

Вместо одной команды оболочки в строке, используйте как можно больше чистых Python.

import os
import subprocess
from pathlib import Path


os.chdir(Path.home() / "ansible/roles/myrole")
out = subprocess.run(["./molecule", "lint"])

или просто

out = subprocess.run(["./molecule", "lint"], cwd=Path.home() / "ansible/roles/myrole")
...