使用 python 从文件中的行分配 agrv[i]

assign agrv[i] from lines in file using python

示例input.dat

[settings]
port = 1234
host = abc.com

如何解析文件,并赋值 1234 to agrv[1], abc.com to argv[2] 等等

这是我尝试过的:

$python p.py input.dat
Traceback (most recent call last):
  File "p.py", line 8, in <module>
    print config['settings']['host']
AttributeError: ConfigParser instance has no attribute '__getitem__'

p.py

  #!/usr/bin/env python
    import sys
    import ConfigParser

    if __name__ == '__main__':
        config = ConfigParser.ConfigParser()
        config.read(sys.argv[1])
        print config['settings']['host']
        print config['settings']['port']

如果可以的话我不想用python3

ConfigParser 不支持类似字典的查找。解析文件后,您可以使用它的 get() 方法检索值,该方法有两个参数,部分名称和选项。所以:

config = ConfigParser.ConfigParser()
config.read(sys.argv[1])
print config.get('settings', 'host')
print config.get('settings', 'port')

更多信息在这里:https://docs.python.org/2/library/configparser.html#configparser-objects