python - 在ansible中运行python函数

标签 python python-2.7 ansible ansible-2.x

python脚本test.py:

class Test:
    def __init__(self):
        pass



    def addition(self, a, b):
        return a + b

下面是执行Python脚本的ansible playbook。

---
- name: execute install script
  script: test.py

是否可以在ansible playbook执行期间仅调用test.py中的添加方法,而不是调用完整的python脚本

最佳答案

我认为这是不可能的。如果 test.py 包含许多类,您可以执行以下操作,这只会定义一个类,并且不会实例化它。

from test import Test
print(Test.addition(None, 3, 4)) # prints 7

如果您想单独导入函数,为什么要把它作为类方法?

您还可以执行以下操作:

测试.py

class Test:
    def __init__(self):
       pass

# Define function outside class so that it can be imported
def addition(self, a, b):
    return a + b

# Add function to class
Test.addition = addition

然后执行from test importadd

关于python - 在ansible中运行python函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53022815/

相关文章:

python - 永远运行服务器端脚本的方法有哪些?

python - 从文本文件的每一行中删除第一个字符

ansible - 使用模块而不是 shell 与 Ansible 临时挂载 smb 共享

python - 不使用 `show()` 的 Matplotlib 事件处理

python - 透明的 3D 条形图

python - 如何使用python维护数组中数字出现的顺序?

python - 在 linux python 中运行文件时遇到问题

python - 字典更新序列元素 #0 的长度为 15; 2 是必需的

docker - 在/etc/ansible/hosts 文件中指定 docker 容器

ansible - 你如何改变 ansible_default_ipv4?