首页 > 解决方案 > ansible 显示 python 脚本打印

问题描述

我正在通过 ansible 执行 python 脚本。我在 python 中有一些打印,但似乎没有显示在 Ansible 输出中。我在 Ansible 的输出中看到了以下内容。

{“改变”:真,“rc”:0,“stderr”:“”,“stdout”:“”,“stdout_lines”:[]}

我尝试了以下方法以在 ansible 中显示打印。

tasks:   
  - name: Run script on remote host
    script: python_script.py 
    register: output

  - debug: var=output.stdout_lines

但是请注意,没有显示任何打印件。

ok: [remoteHostName] => {
    "output.stdout_lines": []

我是 Ansible 的新手。任何参考或指导都将帮助我从 python 脚本打印日志。

标签: pythonansible

解决方案


您的 Ansible 代码很好。见下文。您应该检查脚本 python_script.py 的输出。

  tasks:
    - script: python_script.py
      register: output
    - debug: var=output.stdout_lines


> cat python_script.py 
#!/usr/bin/python
print("Hello World!")

> ansible-playbook test-10.yml
[...]
TASK [debug] ******************************************
ok: [localhost] => {
    "output.stdout_lines": [
        "Hello World!"
    ]
}

推荐阅读