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


Groups > comp.lang.python > #196912

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

Path csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail
From "Loris Bennett" <loris.bennett@fu-berlin.de>
Newsgroups comp.lang.python
Subject Re: Using 'with open(...) as ...' together with configparser.ConfigParser.read
Date Wed, 30 Oct 2024 14:03:55 +0100
Organization FUB-IT, Freie Universität Berlin
Lines 65
Message-ID <87bjz1vj2c.fsf@zedat.fu-berlin.de> (permalink)
References <87plnj3te6.fsf@zedat.fu-berlin.de> <slrnvi2035.372.jon+usenet@raven.unequivocal.eu>
Mime-Version 1.0
Content-Type text/plain
X-Trace news.uni-berlin.de R/g7l+LNrQYMfsIF9iHcHgx1MxdSRRKE+//oTuT66VRPvh
Cancel-Lock sha1:77rJOTJcLRAyDM2SJe+klrkcYm0= sha1:kDXkrpFG0nPZ5Kz8WxXHHfypq08= sha256:AEYBlnxLQ+t8RQrtXzkZyShPSTaMYMiq+pZ2nZLb+rA=
User-Agent Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)
Xref csiph.com comp.lang.python:196912

Show key headers only | View raw


Jon Ribbens <jon+usenet@unequivocal.eu> writes:

> On 2024-10-29, Loris Bennett <loris.bennett@fu-berlin.de> wrote:
>> Hi,
>>
>> With Python 3.9.18, if I do
>>
>>     try:
>>         with open(args.config_file, 'r') as config_file:
>>             config = configparser.ConfigParser()
>>             config.read(config_file)
>>             print(config.sections())
>>
>> i.e try to read the configuration with the variable defined via 'with
>> ... as', I get
>>
>>    []
>>
>> whereas if I use the file name directly
>>
>>     try:
>>         with open(args.config_file, 'r') as config_file:
>>             config = configparser.ConfigParser()
>>             config.read(args.config_file)
>>             print(config.sections())
>> I get 
>>
>>   ['loggers', 'handlers', 'formatters', 'logger_root', 'handler_fileHandler', 'handler_consoleHandler', 'formatter_defaultFormatter']
>>
>> which is what I expect.
>>
>> If I print type of 'config_file' I get
>>
>>  <class '_io.TextIOWrapper'>
>>
>> whereas 'args.config_file' is just 
>>
>>  <class 'str'>
>>
>> Should I be able to use the '_io.TextIOWrapper' object variable here?  If so how?
>>
>> Here
>>
>>   https://docs.python.org/3.9/library/configparser.html
>>
>> there are examples which use the 'with open ... as' variable for writing
>> a configuration file, but not for reading one.
>
> 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)?

Cheers,

Loris

-- 
This signature is currently under constuction.

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


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