0

我有以下代码结构

  1. 烧瓶项目

    • |->app1->在这里我正在编写以下代码
    • |->应用程序2
  2. 可靠的项目

    • |->角色->myrole->分子
    • |-> 剧本

我想检查 ansible 角色 linting 所以我为此使用 python 分子包

import subprocess

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

每次它都给我

异常 [错误 2] No such file for directory

4

1 回答 1

0

尽量坚持使用纯 Python,而不是字符串中的单个 shell 命令。

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")
于 2020-03-13T12:09:25.307 回答