mirror of
https://github.com/python/cpython.git
synced 2025-08-24 18:55:00 +00:00
gh-76728: Coerce DictReader and DictWriter fieldnames argument to a list (GH-32225)
This commit is contained in:
parent
c09fa7542c
commit
cd492d43a2
4 changed files with 37 additions and 0 deletions
|
@ -81,6 +81,8 @@ register_dialect("unix", unix_dialect)
|
|||
class DictReader:
|
||||
def __init__(self, f, fieldnames=None, restkey=None, restval=None,
|
||||
dialect="excel", *args, **kwds):
|
||||
if fieldnames is not None and iter(fieldnames) is fieldnames:
|
||||
fieldnames = list(fieldnames)
|
||||
self._fieldnames = fieldnames # list of keys for the dict
|
||||
self.restkey = restkey # key to catch long rows
|
||||
self.restval = restval # default value for short rows
|
||||
|
@ -133,6 +135,8 @@ class DictReader:
|
|||
class DictWriter:
|
||||
def __init__(self, f, fieldnames, restval="", extrasaction="raise",
|
||||
dialect="excel", *args, **kwds):
|
||||
if fieldnames is not None and iter(fieldnames) is fieldnames:
|
||||
fieldnames = list(fieldnames)
|
||||
self.fieldnames = fieldnames # list of keys for the dict
|
||||
self.restval = restval # for writing short dicts
|
||||
if extrasaction.lower() not in ("raise", "ignore"):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue