Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #4506

Re: (beginner question) ConfigParser nuances

References <d53823a8-bc10-42b4-8fc0-91cc10e1234a@i39g2000prd.googlegroups.com>
Date 2011-05-02 15:25 -0700
Subject Re: (beginner question) ConfigParser nuances
From Chris Rebert <clp2@rebertia.com>
Newsgroups comp.lang.python
Message-ID <mailman.1082.1304375120.9059.python-list@python.org> (permalink)

Show all headers | View raw


On Mon, May 2, 2011 at 3:04 PM, Unknown Moss <unknownmoss@gmail.com> wrote:
> Hi - Beginner question here. I'm working with ConfigParser. I'd like
> to take a multiline variable and convert it directly to an array.
> Seems like a common  problem, but I don't see how I can do it without
> doing a little parsing in my own code. Here's what I'm doing ...
>
>>>> import ConfigParser
>>>> import io
>>>> sample = """
> ... [Example]
> ... fruit = apple
> ...     orange
> ...     pear
> ... """
>>>> config = ConfigParser.RawConfigParser()
>>>> config.readfp(io.BytesIO(sample))
>>>> config.get("Example", "fruit")
> 'apple\norange\npear'
>>>> temp = config.get("Example", "fruit")
>>>> temp.split()
> ['apple', 'orange', 'pear']
>
> I'm thinking there's a way to avoid this intermediate temp.split()
> step. Is there not a way to move a multiline value straight into an
> array using ConfigParser?

Nope, there is not. I think some might instead use several numbered
options to similar effect:

# config file
[Example]
fruit1: apple
fruit2: orange
fruit3: pear

# Python
from itertools import count
fruits = []
names = ("fruit" + str(i) for i in count(1))
for name in names:
    if not config.has_option("Example", name):
        break
    fruits.append(config.get("Example", name))


Cheers,
Chris
--
http://rebertia.com

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

(beginner question) ConfigParser nuances Unknown Moss <unknownmoss@gmail.com> - 2011-05-02 15:04 -0700
  Re: (beginner question) ConfigParser nuances Chris Rebert <clp2@rebertia.com> - 2011-05-02 15:25 -0700
    Re: (beginner question) ConfigParser nuances Unknown Moss <unknownmoss@gmail.com> - 2011-05-02 19:56 -0700

csiph-web