Sujet : Using 'with open(...) as ...' together with configparser.ConfigParser.read
De : loris.bennett (at) *nospam* fu-berlin.de (Loris Bennett)
Groupes : comp.lang.pythonDate : 29. Oct 2024, 15:56:01
Autres entêtes
Organisation : FUB-IT, Freie Universität Berlin
Message-ID : <87plnj3te6.fsf@zedat.fu-berlin.de>
User-Agent : Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)
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.htmlthere are examples which use the 'with open ... as' variable for writing
a configuration file, but not for reading one.
Cheers,
Loris
-- This signature is currently under constuction.