ansible可显示python脚本打印

ansible可显示python脚本打印,python,ansible,Python,Ansible,我正在通过ansible执行python脚本。我在python中有一些打印,但Ansible输出中似乎没有显示任何打印。我在Ansible的输出中看到以下内容 {“已更改”:true,“rc”:0,“stderr”:“stdout”:“stdout_行”:[]} 我尝试了以下方法来显示ansible中的打印 tasks: - name: Run script on remote host script: python_script.py register: outpu

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

{“已更改”:true,“rc”:0,“stderr”:“stdout”:“stdout_行”:[]}

我尝试了以下方法来显示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脚本打印日志。

您的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!"
    ]
}

您可以尝试使用
命令
而不是
脚本
模块,如中建议的解决方法。我的pyhton脚本非常简单,但它不以#开头/usr/bin/python。就像下面这样<代码>导入系统打印(“Hello World”)。我没有看到脚本中有任何指纹。如何确保我的脚本确实是从ansible调用并执行的?那么您可能希望使用“args:executable:python”运行脚本。我尝试使用#/usr/bin/python,但它不起作用。我正在主机上运行此脚本。我如何知道主机实际运行了脚本?如果它运行,那么它应该生成prints语句,而不是。它总是给我rc=0和它的混淆。作为windows机器的主机是否也应该安装python来运行它?当然,它应该安装python。应该可以帮助您了解发生了什么。这是否意味着
python\u script.py
在本地计算机上,而不是像OP提到的那样在远程主机上?