ConfigParser: what read('non-existent-filename') returns in 2.3.x?

Discussion in 'Python' started by Danil Dotsenko, Jul 20, 2006.

  1. Wrote a little "user-friedly" wrapper for ConfigParser for a KDE's
    SuperKaramba widget.
    (http://www.kde-look.org/content/show.php?content=32185)

    I was using 2.4.x python docs as reference and
    ConfigParser.read('non-existent-filename') returns [] in 2.4.x

    One user with 2.3.x reported an error stemming from my use of
    len(cfgObject.read('potentially-non-existent-filename'))

    File "/home/web/Downloads/afoto-1.5b6.skz/localConf.py", line 53, in load
    TypeError: len() of unsized object

    Can anyone tell me what cfgObject.read('potentially-non-existent-filename')
    returns in 2.3.x?

    My output:
    >>> import ConfigParser
    >>> cfg = ConfigParser.ConfigParser()
    >>> a = cfg.read('adsfasfdasfd')
    >>> a, len(a), type(a)

    ([], 0, <type 'list'>)

    Thx in advance.

    Daniel.
     
    Danil Dotsenko, Jul 20, 2006
    #1
    1. Advertising

  2. On Thu, Jul 20, 2006 at 10:50:40AM -0700, Danil Dotsenko wrote:
    > Wrote a little "user-friedly" wrapper for ConfigParser for a KDE's
    > SuperKaramba widget.
    > (http://www.kde-look.org/content/show.php?content=32185)
    >
    > I was using 2.4.x python docs as reference and
    > ConfigParser.read('non-existent-filename') returns [] in 2.4.x

    http://docs.python.org/lib/RawConfigParser-objects.html
    That agrees with the docs since read returns a list of successfully parsed
    filenames. Note the docs also say this was added in 2.4.
    >
    > One user with 2.3.x reported an error stemming from my use of
    > len(cfgObject.read('potentially-non-existent-filename'))
    >
    > File "/home/web/Downloads/afoto-1.5b6.skz/localConf.py", line 53, in load
    > TypeError: len() of unsized object
    >
    > Can anyone tell me what cfgObject.read('potentially-non-existent-filename')
    > returns in 2.3.x?

    I suspect it never returns anything which means you are getting None instead
    of a list, which would give you the exception above.
    >
    > My output:
    > >>> import ConfigParser
    > >>> cfg = ConfigParser.ConfigParser()
    > >>> a = cfg.read('adsfasfdasfd')
    > >>> a, len(a), type(a)

    > ([], 0, <type 'list'>)
    >
    > Thx in advance.
    >
    > Daniel.
    > --
    > http://mail.python.org/mailman/listinfo/python-list
     
    Chris Lambacher, Jul 20, 2006
    #2
    1. Advertising

  3. Chris Lambacher wrote:
    > On Thu, Jul 20, 2006 at 10:50:40AM -0700, Danil Dotsenko wrote:
    >> Wrote a little "user-friedly" wrapper for ConfigParser for a KDE's
    >> SuperKaramba widget.
    >> (http://www.kde-look.org/content/show.php?content=32185)
    >>
    >> I was using 2.4.x python docs as reference and
    >> ConfigParser.read('non-existent-filename') returns [] in 2.4.x

    > http://docs.python.org/lib/RawConfigParser-objects.html
    > That agrees with the docs since read returns a list of successfully parsed
    > filenames. Note the docs also say this was added in 2.4.


    I just looked at the
    http://www.python.org/doc/2.3.5/lib/RawConfigParser-objects.html
    (note the version number) and see the following:
    "If none of the named files exist, the ConfigParser instance will contain an
    empty dataset." Which to me means []. To the least of it, the statement
    should be clarified, but I would still kindly prefer to have someone
    respond / confirm the procedure bellow gives different results in 2.3.x.

    >> >>> import ConfigParser
    >> >>> cfg = ConfigParser.ConfigParser()
    >> >>> a = cfg.read('adsfasfdasfd')
    >> >>> a, len(a), type(a)

    >> ([], 0, <type 'list'>)


    Thx in advance.
     
    Danil Dotsenko, Jul 20, 2006
    #3
  4. Danil Dotsenko wrote:

    > Chris Lambacher wrote:
    >> On Thu, Jul 20, 2006 at 10:50:40AM -0700, Danil Dotsenko wrote:
    >>> Wrote a little "user-friedly" wrapper for ConfigParser for a KDE's
    >>> SuperKaramba widget.
    >>> (http://www.kde-look.org/content/show.php?content=32185)
    >>>
    >>> I was using 2.4.x python docs as reference and
    >>> ConfigParser.read('non-existent-filename') returns [] in 2.4.x

    >> http://docs.python.org/lib/RawConfigParser-objects.html
    >> That agrees with the docs since read returns a list of successfully
    >> parsed
    >> filenames. Note the docs also say this was added in 2.4.

    >
    > I just looked at the
    > http://www.python.org/doc/2.3.5/lib/RawConfigParser-objects.html
    > (note the version number) and see the following:
    > "If none of the named files exist, the ConfigParser instance will contain
    > an empty dataset." Which to me means []. To the least of it, the statement
    > should be clarified, but I would still kindly prefer to have someone
    > respond / confirm the procedure bellow gives different results in 2.3.x.
    >
    >>> >>> import ConfigParser
    >>> >>> cfg = ConfigParser.ConfigParser()
    >>> >>> a = cfg.read('adsfasfdasfd')
    >>> >>> a, len(a), type(a)
    >>> ([], 0, <type 'list'>)

    >
    > Thx in advance.


    Python 2.3.5 (#2, Jun 13 2006, 23:12:55)
    [GCC 4.1.2 20060613 (prerelease) (Debian 4.1.1-4)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
     >>> import ConfigParser
     >>> cfg = ConfigParser.ConfigParser()
     >>> a = cfg.read('adsfasfdasfd')
     >>> a
     >>> type(a)
    <type 'NoneType'>
     >>> len(a)
    Traceback (most recent call last):
      File "<stdin>", line 1, in ?
    TypeError: len() of unsized object
     >>>  
     
    Danil Dotsenko, Jul 20, 2006
    #4
  5. On Thu, Jul 20, 2006 at 02:01:08PM -0700, Danil Dotsenko wrote:
    > Chris Lambacher wrote:
    > > On Thu, Jul 20, 2006 at 10:50:40AM -0700, Danil Dotsenko wrote:
    > >> Wrote a little "user-friedly" wrapper for ConfigParser for a KDE's
    > >> SuperKaramba widget.
    > >> (http://www.kde-look.org/content/show.php?content=32185)
    > >>
    > >> I was using 2.4.x python docs as reference and
    > >> ConfigParser.read('non-existent-filename') returns [] in 2.4.x

    > > http://docs.python.org/lib/RawConfigParser-objects.html
    > > That agrees with the docs since read returns a list of successfully parsed
    > > filenames. Note the docs also say this was added in 2.4.

    >
    > I just looked at the
    > http://www.python.org/doc/2.3.5/lib/RawConfigParser-objects.html
    > (note the version number) and see the following:
    > "If none of the named files exist, the ConfigParser instance will contain an
    > empty dataset." Which to me means []. To the least of it, the statement
    > should be clarified, but I would still kindly prefer to have someone
    > respond / confirm the procedure bellow gives different results in 2.3.x.

    That says nothing about the return value. It says that the ConfigParser
    object will contain an empty data set, ie:
    config.sections() == []
    NOT
    config.read(['doesnotexist.cfg']) == []

    since config.read does not explicitly return anything, and therefore you get
    None.
    >
    > >> >>> import ConfigParser
    > >> >>> cfg = ConfigParser.ConfigParser()
    > >> >>> a = cfg.read('adsfasfdasfd')
    > >> >>> a, len(a), type(a)
    > >> ([], 0, <type 'list'>)

    >
    > Thx in advance.
    >
    >
    >
    > --
    > http://mail.python.org/mailman/listinfo/python-list
     
    Chris Lambacher, Jul 21, 2006
    #5
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Paul W

    Non-existent datagrid?

    Paul W, Nov 10, 2004, in forum: ASP .Net
    Replies:
    2
    Views:
    332
    Paul W
    Nov 10, 2004
  2. ElGordo
    Replies:
    2
    Views:
    6,136
    Ersin Gençtürk
    Apr 29, 2005
  3. Joel D. Kraft

    Non-existent page is not throwing 404 error

    Joel D. Kraft, May 24, 2005, in forum: ASP .Net
    Replies:
    3
    Views:
    1,482
    Joel D. Kraft
    May 25, 2005
  4. Les Caudle
    Replies:
    1
    Views:
    346
    Cowboy \(Gregory A. Beamer\)
    Sep 19, 2006
  5. Replies:
    3
    Views:
    433
Loading...

Share This Page