我正在考虑收集服务器数据,并在这些服务器上预装了Python2.6。现在我想知道是否有对应于Ruby的" facter“的Python库,而不是对应于facter的Python "binding”。
我用谷歌搜索了一下,但什么也没找到。有人知道这是怎么回事吗?
发布于 2011-10-28 12:43:27
我看不出你为什么不直接使用facter本身。输出格式很容易在python脚本中使用。
import subprocess
import pprint
def facter2dict( lines ):
res = {}
for line in lines:
k, v = line.split(' => ')
res[k] = v
return res
def facter():
p = subprocess.Popen( ['facter'], stdout=subprocess.PIPE )
p.wait()
lines = p.stdout.readlines()
return facter2dict( lines )
if __name__ == "__main__":
pprint.pprint( facter() )发布于 2012-11-01 05:37:37
Salt实现了一个名为Grains的Facter替代品。
http://docs.saltstack.org/en/latest/ref/modules/index.html#grains-data
还有一种称为Phacter的尝试
http://code.google.com/p/speed/wiki/Phacter
我没有尝试过,但我同意这个概念。一个人可能不想/不能在他们的系统上安装Ruby,但是想要类似的功能。
发布于 2014-01-20 03:27:52
一些新的http://github.com/hihellobolke/sillyfacter/
安装使用
# Needs pip v1.5
pip install --upgrade --allow-all-external --allow-unverified netifaces sillyfacter您可能也需要升级pip。
# To upgrade pip
pip install --ugrade piphttps://stackoverflow.com/questions/5149895
复制相似问题