我有一个属性文件" holder.txt"像这样的key=value
格式。此处的密钥为clientId
,值为hostname
。
p10=machineA.abc.host.com
p11=machineB.pqr.host.com
p12=machineC.abc.host.com
p13=machineD.abc.host.com
现在我想在python中读取这个文件,并获得运行此python脚本的相应clientId
。例如:如果python脚本在machineA.abc.host.com
上运行,那么它应该p10
为clientId
。与其他人相似。
import socket, ConfigParser
hostname=socket.getfqdn()
print(hostname)
# now basis on "hostname" figure out whats the clientId
# by reading "holder.txt" file
现在我已经与ConfigParser
合作了,但我的困惑是如何获得密钥值clientId
基于它的主机名?我们可以在python中做到这一点吗?
答案 0 :(得分:1)
您需要将持有人文件作为字典读取并存储在内存中:
mappings = {}
with open('holder.txt', 'r') as f:
for line in f:
mapping = line.split('=')
mappings[mapping[1].rstrip()] = mapping[0]
然后每次要从hostname获取clientId时执行映射:
import socket, ConfigParser
hostname=socket.getfqdn()
clientId = mappings[hostname]
希望有所帮助。