Python配置解析器数组根据文件内容序列排序

Python配置解析器数组根据文件内容序列排序,python,arrays,readfile,Python,Arrays,Readfile,我正在从python读取一个配置文件 要读取的文件内容: [environment] env = openstack [nodes] appserver-mgr2 appserver-wkr2 我正在阅读下面的节点部分 def load_server_config(): config = ConfigParser.RawConfigParser(allow_no_value=True) serverList = [] config.read('

我正在从python读取一个配置文件

要读取的文件内容:

[environment]
env = openstack

[nodes]
appserver-mgr2
appserver-wkr2
我正在阅读下面的节点部分

def load_server_config():
        config = ConfigParser.RawConfigParser(allow_no_value=True)
        serverList = []
        config.read('deployment.cfg')
        dic = dict(config.items('nodes'))
        for node, ip in dic.iteritems():
                serverList.append(node)
        print serverList
        return serverList
['appserver-wkr2', 'appserver-mgr2']
[nodes]
appserver-p
appserver-q
appserver-a
appserver-b
['appserver-p', 'appserver-q', 'appserver-a', 'appserver-b']
import collections
def load_server_config():
        serverList = []
        config.read('deployment.cfg')
        orderedDic = collections.OrderedDict(config.items('nodes'))
        for node, ip in orderedDic.iteritems():
                serverList.append(node)
        print serverList
        return serverList
当我打印serverList数组时,它与我在文件中的顺序不符。 它打印如下

def load_server_config():
        config = ConfigParser.RawConfigParser(allow_no_value=True)
        serverList = []
        config.read('deployment.cfg')
        dic = dict(config.items('nodes'))
        for node, ip in dic.iteritems():
                serverList.append(node)
        print serverList
        return serverList
['appserver-wkr2', 'appserver-mgr2']
[nodes]
appserver-p
appserver-q
appserver-a
appserver-b
['appserver-p', 'appserver-q', 'appserver-a', 'appserver-b']
import collections
def load_server_config():
        serverList = []
        config.read('deployment.cfg')
        orderedDic = collections.OrderedDict(config.items('nodes'))
        for node, ip in orderedDic.iteritems():
                serverList.append(node)
        print serverList
        return serverList
我必须手动按升序对数组排序

serverList.sort()
print serverList
然后输出变为

['appserver-mgr2', 'appserver-wkr2']
但我想将节中的节点提取到一个数组中,其顺序与我放入要读取的文件中的顺序相同

例如,我的文件内容如下

def load_server_config():
        config = ConfigParser.RawConfigParser(allow_no_value=True)
        serverList = []
        config.read('deployment.cfg')
        dic = dict(config.items('nodes'))
        for node, ip in dic.iteritems():
                serverList.append(node)
        print serverList
        return serverList
['appserver-wkr2', 'appserver-mgr2']
[nodes]
appserver-p
appserver-q
appserver-a
appserver-b
['appserver-p', 'appserver-q', 'appserver-a', 'appserver-b']
import collections
def load_server_config():
        serverList = []
        config.read('deployment.cfg')
        orderedDic = collections.OrderedDict(config.items('nodes'))
        for node, ip in orderedDic.iteritems():
                serverList.append(node)
        print serverList
        return serverList
我想如下构造数组内容

def load_server_config():
        config = ConfigParser.RawConfigParser(allow_no_value=True)
        serverList = []
        config.read('deployment.cfg')
        dic = dict(config.items('nodes'))
        for node, ip in dic.iteritems():
                serverList.append(node)
        print serverList
        return serverList
['appserver-wkr2', 'appserver-mgr2']
[nodes]
appserver-p
appserver-q
appserver-a
appserver-b
['appserver-p', 'appserver-q', 'appserver-a', 'appserver-b']
import collections
def load_server_config():
        serverList = []
        config.read('deployment.cfg')
        orderedDic = collections.OrderedDict(config.items('nodes'))
        for node, ip in orderedDic.iteritems():
                serverList.append(node)
        print serverList
        return serverList

我该怎么做呢?

根据@fredtantini,我使用了如下订购信息

def load_server_config():
        config = ConfigParser.RawConfigParser(allow_no_value=True)
        serverList = []
        config.read('deployment.cfg')
        dic = dict(config.items('nodes'))
        for node, ip in dic.iteritems():
                serverList.append(node)
        print serverList
        return serverList
['appserver-wkr2', 'appserver-mgr2']
[nodes]
appserver-p
appserver-q
appserver-a
appserver-b
['appserver-p', 'appserver-q', 'appserver-a', 'appserver-b']
import collections
def load_server_config():
        serverList = []
        config.read('deployment.cfg')
        orderedDic = collections.OrderedDict(config.items('nodes'))
        for node, ip in orderedDic.iteritems():
                serverList.append(node)
        print serverList
        return serverList
文件内容

[nodes]
appserver-mgr2
appserver-wkr2
appserver-wkr3
appserver-wkr4
我得到了我需要的结果

['appserver-mgr2', 'appserver-wkr2', 'appserver-wkr3', 'appserver-wkr4']

dict没有定购。检查订单信息