[3.6] bpo-29623: Make PathLike objects work with ConfigParser.read() (#242) (#432)

(cherry picked from commit 85b8d01c91)

Conflicts:

	Lib/test/test_configparser.py
This commit is contained in:
Berker Peksag 2017-03-03 20:48:37 +03:00 committed by GitHub
parent c7ff163abf
commit 21ce65aa67
4 changed files with 31 additions and 9 deletions

View file

@ -143,6 +143,7 @@ from collections import OrderedDict as _default_dict, ChainMap as _ChainMap
import functools
import io
import itertools
import os
import re
import sys
import warnings
@ -687,7 +688,7 @@ class RawConfigParser(MutableMapping):
Return list of successfully read files.
"""
if isinstance(filenames, str):
if isinstance(filenames, (str, os.PathLike)):
filenames = [filenames]
read_ok = []
for filename in filenames:
@ -696,6 +697,8 @@ class RawConfigParser(MutableMapping):
self._read(fp, filename)
except OSError:
continue
if isinstance(filename, os.PathLike):
filename = os.fspath(filename)
read_ok.append(filename)
return read_ok