小编rob*_*djr的帖子

在另一个剧本中使用一个 yml 文件中的变量

我是 ansible 的新手,我试图在 playbook.yml 文件中使用 vars.yml 文件中的变量。

变量名

---
- firstvar:
    id: 1
    name: One
- secondvar:
    id: 2
    name: two
Run Code Online (Sandbox Code Playgroud)

剧本.yml

---
- hosts: localhost

  tasks:
  - name: Import vars
    include_vars:
      file: ./vars.yml
      name: vardata

  - name: Use FirstVar
    iso_vlan:
      vlan_id: "{{ vardata.firstvar.id }}"
      name: "{{ vardata.firstvar.name }}"
      state: present

  - name: Use Secondvar
    iso_vlan:
      vlan_id: "{{ vardata.secondvar.id }}"
      name: "{{ vardata.secondvar.name }}"
      state: present
Run Code Online (Sandbox Code Playgroud)

所以你可以在这里看到我将存储在 vardata 中的导入变量数据视为对象,并尝试在其他任务中调用它们中的每一个。我很确定这些在第一个任务中导入的变量只在那个任务中可用。我如何在其他任务中使用它?它将输出为每个任务未定义的变量。任何输入表示赞赏。

variables import ansible

4
推荐指数
1
解决办法
4316
查看次数

Python 日志记录:如何将日志记录级别作为参数传递

我们如何将日志记录级别作为参数传递?

例如:

level1 = 'DEBUG'
level1lower = level1.lower()
logger.setLevel(logging.level1)
logger.level1lower('Some messages passed for logging's)
Run Code Online (Sandbox Code Playgroud)

这是我的问题最接近的表示,因为我想编写一个将日志记录级别作为参数的函数。

python logging

4
推荐指数
1
解决办法
6393
查看次数

对具有时间戳的函数进行 Python 单元测试

在一个函数的单元测试中,该函数输出时间戳并说出主机名以及其他值。在单元测试中,如果我在预期输出中添加一些时间戳和主机名,它将失败,因为每次调用函数时函数的时间戳都会更改,并且每次在不同的计算机中运行时主机名都会更改。解决这个问题的方法是什么?我很感激您的意见。

函数的输出:

{'datetime': '09-10-2018 23:23:23', 'hostname': 'abc.xyz.com',...}
# and it can change every time we run it
Run Code Online (Sandbox Code Playgroud)

但是这个日期时间和主机名当然会根据时间和机器而变化

我想我将在单元测试中使用assertEqual或assertDictEqual的预期输出:

{'datetime': '09-10-2018 23:23:23', 'hostname': 'abc.xyz.com',...}
Run Code Online (Sandbox Code Playgroud)

其他断言检查是否更适合这种情况?

python datetime unit-testing assertion

1
推荐指数
1
解决办法
3402
查看次数

仅从熊猫的数据框中提取包含“真”值的列

我有一个这样的数据框:

    col1    col2    col3    col4    col5
0   False   False   True    True    False
1   False   True    True    False   False
Run Code Online (Sandbox Code Playgroud)

我想过滤它并获得一个包含至少一个True值的列的数据框。

    col2    col3    col4
0   False   True    True
1   True    True    False
Run Code Online (Sandbox Code Playgroud)

python pandas

1
推荐指数
1
解决办法
442
查看次数