summaryrefslogtreecommitdiff
path: root/numpy/lib
diff options
context:
space:
mode:
authorSebastian Berg <sebastian@sipsolutions.net>2020-01-23 16:50:25 -0800
committerGitHub <noreply@github.com>2020-01-23 16:50:25 -0800
commit68224f43d09393c1981bb83ee3c13a5158d2817c (patch)
tree94153dd189f924c399c2621c325fd2fd2a5e6ba6 /numpy/lib
parent4c32890b3628434996824ae2056333b9a389f46c (diff)
parentb4e3a4227e3a9cfe28717db458e67d79e916a418 (diff)
downloadnumpy-68224f43d09393c1981bb83ee3c13a5158d2817c.tar.gz
Merge pull request #15407 from charris/replace-basestring
MAINT: Replace basestring with str.
Diffstat (limited to 'numpy/lib')
-rw-r--r--numpy/lib/_iotools.py14
-rw-r--r--numpy/lib/_version.py6
-rw-r--r--numpy/lib/histograms.py3
-rw-r--r--numpy/lib/npyio.py10
-rw-r--r--numpy/lib/recfunctions.py7
5 files changed, 18 insertions, 22 deletions
diff --git a/numpy/lib/_iotools.py b/numpy/lib/_iotools.py
index dd6e9ec66..251d2d2a7 100644
--- a/numpy/lib/_iotools.py
+++ b/numpy/lib/_iotools.py
@@ -5,7 +5,7 @@ __docformat__ = "restructuredtext en"
import numpy as np
import numpy.core.numeric as nx
-from numpy.compat import asbytes, asunicode, bytes, basestring
+from numpy.compat import asbytes, asunicode, bytes
def _decode_line(line, encoding=None):
@@ -175,7 +175,7 @@ class LineSplitter:
self.comments = comments
# Delimiter is a character
- if (delimiter is None) or isinstance(delimiter, basestring):
+ if (delimiter is None) or isinstance(delimiter, str):
delimiter = delimiter or None
_handyman = self._delimited_splitter
# Delimiter is a list of field widths
@@ -345,7 +345,7 @@ class NameValidator:
if (nbfields is None):
return None
names = []
- if isinstance(names, basestring):
+ if isinstance(names, str):
names = [names, ]
if nbfields is not None:
nbnames = len(names)
@@ -659,7 +659,7 @@ class StringConverter:
if missing_values is None:
self.missing_values = {''}
else:
- if isinstance(missing_values, basestring):
+ if isinstance(missing_values, str):
missing_values = missing_values.split(",")
self.missing_values = set(list(missing_values) + [''])
#
@@ -834,7 +834,7 @@ class StringConverter:
else:
if not np.iterable(missing_values):
missing_values = [missing_values]
- if not all(isinstance(v, basestring) for v in missing_values):
+ if not all(isinstance(v, str) for v in missing_values):
raise TypeError("missing_values must be strings or unicode")
self.missing_values.update(missing_values)
@@ -884,7 +884,7 @@ def easy_dtype(ndtype, names=None, defaultfmt="f%i", **validationargs):
nbfields = len(ndtype)
if names is None:
names = [''] * len(ndtype)
- elif isinstance(names, basestring):
+ elif isinstance(names, str):
names = names.split(",")
names = validate(names, nbfields=nbfields, defaultfmt=defaultfmt)
ndtype = np.dtype(dict(formats=ndtype, names=names))
@@ -892,7 +892,7 @@ def easy_dtype(ndtype, names=None, defaultfmt="f%i", **validationargs):
# Explicit names
if names is not None:
validate = NameValidator(**validationargs)
- if isinstance(names, basestring):
+ if isinstance(names, str):
names = names.split(",")
# Simple dtype: repeat to match the nb of names
if ndtype.names is None:
diff --git a/numpy/lib/_version.py b/numpy/lib/_version.py
index 6a7c5cba1..d4098acb5 100644
--- a/numpy/lib/_version.py
+++ b/numpy/lib/_version.py
@@ -7,8 +7,6 @@ work; they don't recognize anything like alpha/beta/rc/dev versions.
"""
import re
-from numpy.compat import basestring
-
__all__ = ['NumpyVersion']
@@ -114,10 +112,10 @@ class NumpyVersion():
return vercmp
def _compare(self, other):
- if not isinstance(other, (basestring, NumpyVersion)):
+ if not isinstance(other, (str, NumpyVersion)):
raise ValueError("Invalid object to compare with NumpyVersion.")
- if isinstance(other, basestring):
+ if isinstance(other, str):
other = NumpyVersion(other)
vercmp = self._compare_version(other)
diff --git a/numpy/lib/histograms.py b/numpy/lib/histograms.py
index 70ecd6eb1..5358c6846 100644
--- a/numpy/lib/histograms.py
+++ b/numpy/lib/histograms.py
@@ -7,7 +7,6 @@ import operator
import warnings
import numpy as np
-from numpy.compat.py3k import basestring
from numpy.core import overrides
__all__ = ['histogram', 'histogramdd', 'histogram_bin_edges']
@@ -383,7 +382,7 @@ def _get_bin_edges(a, bins, range, weights):
n_equal_bins = None
bin_edges = None
- if isinstance(bins, basestring):
+ if isinstance(bins, str):
bin_name = bins
# if `bins` is a string for an automatic method,
# this will replace it with the number of bins calculated
diff --git a/numpy/lib/npyio.py b/numpy/lib/npyio.py
index 48d4f7fa2..f43fcf0c0 100644
--- a/numpy/lib/npyio.py
+++ b/numpy/lib/npyio.py
@@ -23,7 +23,7 @@ from ._iotools import (
)
from numpy.compat import (
- asbytes, asstr, asunicode, bytes, basestring, os_fspath, os_PathLike,
+ asbytes, asstr, asunicode, bytes, os_fspath, os_PathLike,
pickle, contextlib_nullcontext
)
@@ -918,7 +918,7 @@ def loadtxt(fname, dtype=float, comments='#', delimiter=None,
"""
# Type conversions for Py3 convenience
if comments is not None:
- if isinstance(comments, (basestring, bytes)):
+ if isinstance(comments, (str, bytes)):
comments = [comments]
comments = [_decode_line(x) for x in comments]
# Compile regex for comments beforehand
@@ -1391,7 +1391,7 @@ def savetxt(fname, X, fmt='%.18e', delimiter=' ', newline='\n', header='',
if len(fmt) != ncol:
raise AttributeError('fmt has wrong shape. %s' % str(fmt))
format = asstr(delimiter).join(map(asstr, fmt))
- elif isinstance(fmt, basestring):
+ elif isinstance(fmt, str):
n_fmt_chars = fmt.count('%')
error = ValueError('fmt has wrong number of %% formats: %s' % fmt)
if n_fmt_chars == 1:
@@ -1747,7 +1747,7 @@ def genfromtxt(fname, dtype=float, comments='#', delimiter=None,
try:
if isinstance(fname, os_PathLike):
fname = os_fspath(fname)
- if isinstance(fname, basestring):
+ if isinstance(fname, str):
fid = np.lib._datasource.open(fname, 'rt', encoding=encoding)
fid_ctx = contextlib.closing(fid)
else:
@@ -1889,7 +1889,7 @@ def genfromtxt(fname, dtype=float, comments='#', delimiter=None,
if value not in entry:
entry.append(value)
# We have a string : apply it to all entries
- elif isinstance(user_missing_values, basestring):
+ elif isinstance(user_missing_values, str):
user_value = user_missing_values.split(",")
for entry in missing_values:
entry.extend(user_value)
diff --git a/numpy/lib/recfunctions.py b/numpy/lib/recfunctions.py
index af4cfa09d..03c0c82f5 100644
--- a/numpy/lib/recfunctions.py
+++ b/numpy/lib/recfunctions.py
@@ -13,7 +13,6 @@ from numpy.ma import MaskedArray
from numpy.ma.mrecords import MaskedRecords
from numpy.core.overrides import array_function_dispatch
from numpy.lib._iotools import _is_string_like
-from numpy.compat import basestring
from numpy.testing import suppress_warnings
_check_fill_value = np.ma.core._check_fill_value
@@ -299,7 +298,7 @@ def _izip_fields(iterable):
"""
for element in iterable:
if (hasattr(element, '__iter__') and
- not isinstance(element, basestring)):
+ not isinstance(element, str)):
for f in _izip_fields(element):
yield f
elif isinstance(element, np.void) and len(tuple(element)) == 1:
@@ -698,7 +697,7 @@ def append_fields(base, names, data, dtypes=None,
if len(names) != len(data):
msg = "The number of arrays does not match the number of names"
raise ValueError(msg)
- elif isinstance(names, basestring):
+ elif isinstance(names, str):
names = [names, ]
data = [data, ]
#
@@ -1455,7 +1454,7 @@ def join_by(key, r1, r2, jointype='inner', r1postfix='1', r2postfix='2',
"'outer' or 'leftouter' (got '%s' instead)" % jointype
)
# If we have a single key, put it in a tuple
- if isinstance(key, basestring):
+ if isinstance(key, str):
key = (key,)
# Check the keys