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


Groups > comp.lang.python > #196923

Re: Using 'with open(...) as ...' together with configparser.ConfigParser.read

From MRAB <python@mrabarnett.plus.com>
Newsgroups comp.lang.python
Subject Re: Using 'with open(...) as ...' together with configparser.ConfigParser.read
Date 2024-10-31 17:06 +0000
Message-ID <mailman.62.1730394380.4695.python-list@python.org> (permalink)
References (3 earlier) <slrnvi4ksp.372.jon+usenet@raven.unequivocal.eu> <87r07xtwg7.fsf@zedat.fu-berlin.de> <slrnvi4ss3.372.jon+usenet@raven.unequivocal.eu> <87y124db0q.fsf@zedat.fu-berlin.de> <a88893a0-627d-4d30-83d1-ec91b318bf99@mrabarnett.plus.com>

Show all headers | View raw


On 2024-10-31 06:47, Loris Bennett via Python-list wrote:
> Jon Ribbens <jon+usenet@unequivocal.eu> writes:
> 
>> On 2024-10-30, Loris Bennett <loris.bennett@fu-berlin.de> wrote:
>>> Jon Ribbens <jon+usenet@unequivocal.eu> writes:
>>>> On 2024-10-30, Loris Bennett <loris.bennett@fu-berlin.de> wrote:
>>>>> Jon Ribbens <jon+usenet@unequivocal.eu> writes:
>>>>>> As per the docs you link to, the read() method only takes filename(s)
>>>>>> as arguments, if you have an already-open file you want to read then
>>>>>> you should use the read_file() method instead.
>>>>>
>>>>> As you and others have pointed out, this is indeed covered in the docs,
>>>>> so mea culpa.
>>>>>
>>>>> However, whereas I can see why you might want to read the config from a
>>>>> dict or a string, what would be a use case in which I would want to
>>>>> read from an open file rather than just reading from a file(name)?
>>>>
>>>> The ConfigParser module provides read(), read_file(), read_string(),
>>>> and read_dict() methods. I think they were just trying to be
>>>> comprehensive. It's a bit non-Pythonic really.
>>>
>>> OK, but is there a common situation might I be obliged to use
>>> 'read_file'?  I.e. is there some common case where the file name is not
>>> available, only a corresponding file-like object or stream?
>>
>> Well, sure - any time it's not being read from a file. A bit ironic
>> that the method to use in that situation is "read_file", of course.
>> In my view the read() and read_file() methods have their names the
>> wrong way round. But bear in mind this code is 27 years old, and
>> the read() function came first.
> 
> Yes, I suppose history has a lot to answer for :-)
> 
> However I didn't make myself clear: I understand that there are
> different functions, depending on whether I have a file name or a
> stream.  Nevertheless, I just can't think of a practical example where I
> might just have *only* a stream, especially one containing my
> configuration data.  I was just interested to know if anyone can give an
> example.
> 
What if the config file was inside a zipped folder?

Although I haven't used ConfigParser like that, I have read the contents 
of files that are in a zipped folder. It means that I don't have to 
extract the file first.

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


Thread

Using 'with open(...) as ...' together with configparser.ConfigParser.read "Loris Bennett" <loris.bennett@fu-berlin.de> - 2024-10-29 14:56 +0100
  Re: Using 'with open(...) as ...' together with configparser.ConfigParser.read Jon Ribbens <jon+usenet@unequivocal.eu> - 2024-10-29 15:33 +0000
    Re: Using 'with open(...) as ...' together with configparser.ConfigParser.read "Loris Bennett" <loris.bennett@fu-berlin.de> - 2024-10-30 14:03 +0100
      Re: Using 'with open(...) as ...' together with configparser.ConfigParser.read Jon Ribbens <jon+usenet@unequivocal.eu> - 2024-10-30 15:41 +0000
        Re: Using 'with open(...) as ...' together with configparser.ConfigParser.read "Loris Bennett" <loris.bennett@fu-berlin.de> - 2024-10-30 16:57 +0100
          Re: Using 'with open(...) as ...' together with configparser.ConfigParser.read Jon Ribbens <jon+usenet@unequivocal.eu> - 2024-10-30 17:57 +0000
            Re: Using 'with open(...) as ...' together with configparser.ConfigParser.read "Loris Bennett" <loris.bennett@fu-berlin.de> - 2024-10-31 07:47 +0100
              Re: Using 'with open(...) as ...' together with configparser.ConfigParser.read Jon Ribbens <jon+usenet@unequivocal.eu> - 2024-10-31 08:41 +0000
              Re: Using 'with open(...) as ...' together with configparser.ConfigParser.read Karsten Hilbert <Karsten.Hilbert@gmx.net> - 2024-10-31 17:10 +0100
              Re: Using 'with open(...) as ...' together with configparser.ConfigParser.read MRAB <python@mrabarnett.plus.com> - 2024-10-31 17:06 +0000
  Re: Using 'with open(...) as ...' together with configparser.ConfigParser.read MRAB <python@mrabarnett.plus.com> - 2024-10-29 16:10 +0000
  Re: Using 'with open(...) as ...' (Posting On Python-List Prohibited) Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-10-30 00:10 +0000

csiph-web