Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > ConfigParser: what read('non-existent-filename') returns in 2.3.x?

Reply
Thread Tools

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

 
 
Danil Dotsenko
Guest
Posts: n/a
 
      07-20-2006
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.
 
Reply With Quote
 
 
 
 
Chris Lambacher
Guest
Posts: n/a
 
      07-20-2006
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

 
Reply With Quote
 
 
 
 
Danil Dotsenko
Guest
Posts: n/a
 
      07-20-2006
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/...r-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.



 
Reply With Quote
 
Danil Dotsenko
Guest
Posts: n/a
 
      07-20-2006
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/...r-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
*>>> *
 
Reply With Quote
 
Chris Lambacher
Guest
Posts: n/a
 
      07-21-2006
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/...r-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

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Sorted Returns List and Reversed Returns Iterator ++imanshu Python 7 08-23-2008 04:25 AM
Hash#select returns an array but Hash#reject returns a hash... Srijayanth Sridhar Ruby 19 07-02-2008 12:49 PM
createImage sometime returns null and sometime returns non-null. vizlab Java 3 10-17-2007 11:21 AM
block returns and hash element returns Trans Ruby 2 11-06-2005 12:15 PM
Device search returns devices with zero length strings =?Utf-8?B?U3RlcGhlbiBJbmtwZW4=?= Wireless Networking 2 07-15-2005 12:26 AM



Advertisments