问题描述
如何用 golang 开发 ansible 的 filter 插件?
模块可以用 go 开发,filter 插件不知道是否行的通。
问题出现的平台版本及自己尝试过哪些方法
python 在处理单双引号时老是出问题,因此打算用 golang 处理。
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
python 版本
def single_double(a_list):
new_list = [ '%s' % an_element for an_element in a_list]
#return '"%s"' % new_list
return new_list
class FilterModule(object):
def filters(self):
return {'single_double': single_double}
你期待的结果是什么?实际看到的错误信息又是什么?
使用 golang 开发 ansible 的 filter 插件可以提供一些示例代码
经过尝试,使用 python 可以实现。
前面的做法 filter 返回的是 python 的list,并不能直接作为数组使用,需要将其转化为字符串,再返回就 OK 了。
原因:对 python 的数据结构理解不够
实现如下: