使用“variable = value”(Windows INI)格式读取文件?

时间:2013-10-13 22:53:58

标签: python file

我正在学习Python,作为初学者,我几乎没有问题。

我需要读取具有以下格式的文件:

# This is the text file
[label1]
method=auto

[label2]
variable1=value1
variable2=ae56d491-3847-4185-97a0-36063d53ff2c
variable3=value3

现在我有以下代码:

# This is the Python file
arq = open('desiredFile').read()
index = arq.rfind('variable1=')
(??)

但我真的不知道如何继续下去。我的目标是读取值,直到换行。我想在计算“id =”和新行之间的索引时,所以在这个索引中获取文本,但我不知道如何在Python中执行此操作。总结我想在Python变量中存储[label2]的值:

pythonVariable1 = <value of variable1 in [label2]>
pythonVariable2 = <value of variable2 in [label2]>
pythobVariable3 = <value of variable3 in [label2]>

请注意,pythonVariable2等于“ae56d491-3847-4185-97a0-36063d53ff2c”,文本文件中的变量具有唯一名称。那么,我如何在Python变量中存储这些变量的值?

1 个答案:

答案 0 :(得分:10)

使用configparser module代替处理此问题。该模块直接解析此文件格式(称为Windows INI格式)。

try:
    # Python 3
    from configparser import ConfigParser
except ImportError:
    # Python 2
    from ConfigParser import ConfigParser

config = ConfigParser()
config.readfp( open( 'desiredFile' ) )

somevar = config.get( 'label2', 'variable1' )