summaryrefslogtreecommitdiff
path: root/Lib
diff options
context:
space:
mode:
Diffstat (limited to 'Lib')
-rwxr-xr-xLib/cgi.py4
-rw-r--r--Lib/csv.py2
-rw-r--r--Lib/decimal.py8
-rw-r--r--Lib/difflib.py2
-rw-r--r--Lib/distutils/dist.py5
-rw-r--r--Lib/distutils/sysconfig.py2
-rw-r--r--Lib/distutils/version.py2
-rw-r--r--Lib/encodings/idna.py4
-rw-r--r--Lib/filecmp.py6
-rw-r--r--Lib/heapq.py12
-rw-r--r--Lib/logging/config.py2
-rw-r--r--Lib/mhlib.py3
-rw-r--r--Lib/optparse.py2
-rwxr-xr-xLib/pydoc.py4
-rw-r--r--Lib/string.py11
-rw-r--r--Lib/test/test_bisect.py2
-rw-r--r--Lib/test/test_builtin.py119
-rw-r--r--Lib/test/test_bytes.py6
-rw-r--r--Lib/test/test_cgi.py5
-rw-r--r--Lib/test/test_datetime.py3
-rw-r--r--Lib/test/test_decimal.py6
-rw-r--r--Lib/test/test_extcall.py3
-rw-r--r--Lib/test/test_functools.py5
-rw-r--r--Lib/test/test_genexps.py2
-rwxr-xr-xLib/test/test_grp.py4
-rw-r--r--Lib/test/test_hash.py2
-rw-r--r--Lib/test/test_heapq.py13
-rw-r--r--Lib/test/test_inspect.py2
-rw-r--r--Lib/test/test_iter.py37
-rw-r--r--Lib/test/test_itertools.py35
-rw-r--r--Lib/test/test_long.py7
-rw-r--r--Lib/test/test_mailbox.py2
-rw-r--r--Lib/test/test_mhlib.py9
-rw-r--r--Lib/test/test_old_mailbox.py2
-rw-r--r--Lib/test/test_operator.py4
-rw-r--r--Lib/test/test_pwd.py4
-rw-r--r--Lib/test/test_weakref.py12
-rw-r--r--Lib/test/test_xml_etree.py2
-rw-r--r--Lib/test/test_xml_etree_c.py2
-rw-r--r--Lib/textwrap.py6
-rw-r--r--Lib/unittest.py4
-rw-r--r--Lib/urllib2.py10
-rw-r--r--Lib/zipfile.py2
43 files changed, 170 insertions, 209 deletions
diff --git a/Lib/cgi.py b/Lib/cgi.py
index f756330fc9..ab126d53bd 100755
--- a/Lib/cgi.py
+++ b/Lib/cgi.py
@@ -572,7 +572,7 @@ class FieldStorage:
if key in self:
value = self[key]
if type(value) is type([]):
- return map(attrgetter('value'), value)
+ return [x.value for x in value]
else:
return value.value
else:
@@ -594,7 +594,7 @@ class FieldStorage:
if key in self:
value = self[key]
if type(value) is type([]):
- return map(attrgetter('value'), value)
+ return [x.value for x in value]
else:
return [value.value]
else:
diff --git a/Lib/csv.py b/Lib/csv.py
index 758c79a4d8..cd0f7d34ba 100644
--- a/Lib/csv.py
+++ b/Lib/csv.py
@@ -253,7 +253,7 @@ class Sniffer:
additional chunks as necessary.
"""
- data = filter(None, data.split('\n'))
+ data = list(filter(None, data.split('\n')))
ascii = [chr(c) for c in range(127)] # 7-bit ASCII
diff --git a/Lib/decimal.py b/Lib/decimal.py
index 2611f79789..17d67d541d 100644
--- a/Lib/decimal.py
+++ b/Lib/decimal.py
@@ -841,7 +841,7 @@ class Decimal(object):
if context is None:
context = getcontext()
- tmp = map(str, self._int)
+ tmp = list(map(str, self._int))
numdigits = len(self._int)
leftdigits = self._exp + numdigits
if eng and not self: # self = 0eX wants 0[.0[0]]eY, not [[0]0]0eY
@@ -1193,7 +1193,9 @@ class Decimal(object):
op1 = _WorkRep(self)
op2 = _WorkRep(other)
- ans = Decimal((resultsign, map(int, str(op1.int * op2.int)), resultexp))
+ ans = Decimal((resultsign,
+ tuple(map(int, str(op1.int * op2.int))),
+ resultexp))
if shouldround:
ans = ans._fix(context)
@@ -3145,7 +3147,7 @@ def _string2exact(s):
exp -= len(fracpart)
mantissa = intpart + fracpart
- tmp = map(int, mantissa)
+ tmp = list(map(int, mantissa))
backup = tmp
while tmp and tmp[0] == 0:
del tmp[0]
diff --git a/Lib/difflib.py b/Lib/difflib.py
index f992650310..13704158b4 100644
--- a/Lib/difflib.py
+++ b/Lib/difflib.py
@@ -587,7 +587,7 @@ class SequenceMatcher:
Each group is in the same format as returned by get_opcodes().
>>> from pprint import pprint
- >>> a = map(str, range(1,40))
+ >>> a = list(map(str, range(1,40)))
>>> b = a[:]
>>> b[8:8] = ['i'] # Make an insertion
>>> b[20] += 'x' # Make a replacement
diff --git a/Lib/distutils/dist.py b/Lib/distutils/dist.py
index c01724d83a..8f614765ef 100644
--- a/Lib/distutils/dist.py
+++ b/Lib/distutils/dist.py
@@ -112,8 +112,7 @@ Common commands: (see '--help-commands' for more)
('obsoletes', None,
"print the list of packages/modules made obsolete")
]
- display_option_names = map(lambda x: translate_longopt(x[0]),
- display_options)
+ display_option_names = [translate_longopt(x[0]) for x in display_options]
# negative options are options that exclude other options
negative_opt = {'quiet': 'verbose'}
@@ -805,7 +804,7 @@ Common commands: (see '--help-commands' for more)
pkgs = (pkgs or "").split(",")
for i in range(len(pkgs)):
pkgs[i] = pkgs[i].strip()
- pkgs = filter(None, pkgs)
+ pkgs = [p for p in pkgs if p]
if "distutils.command" not in pkgs:
pkgs.insert(0, "distutils.command")
self.command_packages = pkgs
diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
index 51f23a24a5..346707fa90 100644
--- a/Lib/distutils/sysconfig.py
+++ b/Lib/distutils/sysconfig.py
@@ -372,7 +372,7 @@ def _init_posix():
if cur_target == '':
cur_target = cfg_target
os.putenv('MACOSX_DEPLOYMENT_TARGET', cfg_target)
- elif map(int, cfg_target.split('.')) > map(int, cur_target.split('.')):
+ elif [int(x) for x in cfg_target.split('.')] > [int(x) for x in cur_target.split('.')]:
my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: now "%s" but "%s" during configure'
% (cur_target, cfg_target))
raise DistutilsPlatformError(my_msg)
diff --git a/Lib/distutils/version.py b/Lib/distutils/version.py
index 2db6b18f1e..de20e21f70 100644
--- a/Lib/distutils/version.py
+++ b/Lib/distutils/version.py
@@ -148,7 +148,7 @@ class StrictVersion (Version):
if patch:
self.version = tuple(map(int, [major, minor, patch]))
else:
- self.version = tuple(map(int, [major, minor]) + [0])
+ self.version = tuple(map(int, [major, minor])) + (0,)
if prerelease:
self.prerelease = (prerelease[0], int(prerelease_num))
diff --git a/Lib/encodings/idna.py b/Lib/encodings/idna.py
index 55e1643c25..b81e5fa158 100644
--- a/Lib/encodings/idna.py
+++ b/Lib/encodings/idna.py
@@ -38,7 +38,7 @@ def nameprep(label):
raise UnicodeError("Invalid character %r" % c)
# Check bidi
- RandAL = map(stringprep.in_table_d1, label)
+ RandAL = [stringprep.in_table_d1(x) for x in label]
for c in RandAL:
if c:
# There is a RandAL char in the string. Must perform further
@@ -47,7 +47,7 @@ def nameprep(label):
# This is table C.8, which was already checked
# 2) If a string contains any RandALCat character, the string
# MUST NOT contain any LCat character.
- if filter(stringprep.in_table_d2, label):
+ if any(stringprep.in_table_d2(x) for x in label):
raise UnicodeError("Violation of BIDI requirement 2")
# 3) If a string contains any RandALCat character, a
diff --git a/Lib/filecmp.py b/Lib/filecmp.py
index 9c0ce5a851..ac01613479 100644
--- a/Lib/filecmp.py
+++ b/Lib/filecmp.py
@@ -132,9 +132,9 @@ class dircmp:
def phase1(self): # Compute common names
a = dict(izip(imap(os.path.normcase, self.left_list), self.left_list))
b = dict(izip(imap(os.path.normcase, self.right_list), self.right_list))
- self.common = map(a.__getitem__, ifilter(b.__contains__, a))
- self.left_only = map(a.__getitem__, ifilterfalse(b.__contains__, a))
- self.right_only = map(b.__getitem__, ifilterfalse(a.__contains__, b))
+ self.common = list(map(a.__getitem__, ifilter(b.__contains__, a)))
+ self.left_only = list(map(a.__getitem__, ifilterfalse(b.__contains__, a)))
+ self.right_only = list(map(b.__getitem__, ifilterfalse(a.__contains__, b)))
def phase2(self): # Distinguish files, directories, funnies
self.common_dirs = []
diff --git a/Lib/heapq.py b/Lib/heapq.py
index f64d8ba862..f3d0669934 100644
--- a/Lib/heapq.py
+++ b/Lib/heapq.py
@@ -129,7 +129,7 @@ From all times, sorting has always been a Great Art! :-)
__all__ = ['heappush', 'heappop', 'heapify', 'heapreplace', 'merge',
'nlargest', 'nsmallest']
-from itertools import islice, repeat, count, imap, izip, tee
+from itertools import islice, repeat, count, izip, tee
from operator import itemgetter, neg
import bisect
@@ -225,7 +225,7 @@ def nsmallest(n, iterable):
# O(m) + O(n log m) comparisons.
h = list(iterable)
heapify(h)
- return map(heappop, repeat(h, min(n, len(h))))
+ return list(map(heappop, repeat(h, min(n, len(h)))))
# 'heap' is a heap at all indices >= startpos, except possibly for pos. pos
# is the index of a leaf with a possibly out-of-order value. Restore the
@@ -351,9 +351,9 @@ def nsmallest(n, iterable, key=None):
Equivalent to: sorted(iterable, key=key)[:n]
"""
in1, in2 = tee(iterable)
- it = izip(imap(key, in1), count(), in2) # decorate
+ it = izip(map(key, in1), count(), in2) # decorate
result = _nsmallest(n, it)
- return map(itemgetter(2), result) # undecorate
+ return list(map(itemgetter(2), result)) # undecorate
_nlargest = nlargest
def nlargest(n, iterable, key=None):
@@ -362,9 +362,9 @@ def nlargest(n, iterable, key=None):
Equivalent to: sorted(iterable, key=key, reverse=True)[:n]
"""
in1, in2 = tee(iterable)
- it = izip(imap(key, in1), imap(neg, count()), in2) # decorate
+ it = izip(map(key, in1), map(neg, count()), in2) # decorate
result = _nlargest(n, it)
- return map(itemgetter(2), result) # undecorate
+ return list(map(itemgetter(2), result)) # undecorate
if __name__ == "__main__":
# Simple sanity test
diff --git a/Lib/logging/config.py b/Lib/logging/config.py
index 0bf79a5a20..99755e2ec9 100644
--- a/Lib/logging/config.py
+++ b/Lib/logging/config.py
@@ -176,7 +176,7 @@ def _install_loggers(cp, handlers):
# configure the root first
llist = cp.get("loggers", "keys")
llist = llist.split(",")
- llist = map(lambda x: x.strip(), llist)
+ llist = list(map(lambda x: x.strip(), llist))
llist.remove("root")
sectname = "logger_root"
root = logging.root
diff --git a/Lib/mhlib.py b/Lib/mhlib.py
index 4b32020912..c06e1a6566 100644
--- a/Lib/mhlib.py
+++ b/Lib/mhlib.py
@@ -282,8 +282,7 @@ class Folder:
for name in os.listdir(self.getfullname()):
if match(name):
append(name)
- messages = map(int, messages)
- messages.sort()
+ messages = sorted(map(int, messages))
if messages:
self.last = messages[-1]
else:
diff --git a/Lib/optparse.py b/Lib/optparse.py
index ed51b93820..e648a281e4 100644
--- a/Lib/optparse.py
+++ b/Lib/optparse.py
@@ -573,7 +573,7 @@ class Option:
# Filter out None because early versions of Optik had exactly
# one short option and one long option, either of which
# could be None.
- opts = filter(None, opts)
+ opts = [opt for opt in opts if opt]
if not opts:
raise TypeError("at least one option string must be supplied")
return opts
diff --git a/Lib/pydoc.py b/Lib/pydoc.py
index 45943334dd..3b3f1bd959 100755
--- a/Lib/pydoc.py
+++ b/Lib/pydoc.py
@@ -468,9 +468,9 @@ class HTMLDoc(Doc):
def multicolumn(self, list, format, cols=4):
"""Format a list of items into a multi-column list."""
result = ''
- rows = (len(list)+cols-1)/cols
+ rows = (len(list)+cols-1)//cols
for col in range(cols):
- result = result + '<td width="%d%%" valign=top>' % (100/cols)
+ result = result + '<td width="%d%%" valign=top>' % (100//cols)
for i in range(rows*col, rows*col+rows):
if i < len(list):
result = result + format(list[i]) + '<br>\n'
diff --git a/Lib/string.py b/Lib/string.py
index fd8e91be73..51b2067ab9 100644
--- a/Lib/string.py
+++ b/Lib/string.py
@@ -30,9 +30,7 @@ printable = digits + letters + punctuation + whitespace
# Case conversion helpers
# Use str to convert Unicode literal in case of -U
-l = map(chr, range(256))
-_idmap = str('').join(l)
-del l
+_idmap = str('').join(chr(c) for c in range(256))
# Functions which aren't available as string methods.
@@ -63,11 +61,10 @@ def maketrans(fromstr, tostr):
raise ValueError, "maketrans arguments must have same length"
global _idmapL
if not _idmapL:
- _idmapL = map(None, _idmap)
+ _idmapL = list(_idmap)
L = _idmapL[:]
- fromstr = map(ord, fromstr)
- for i in range(len(fromstr)):
- L[fromstr[i]] = tostr[i]
+ for i, c in enumerate(fromstr):
+ L[ord(c)] = tostr[i]
return ''.join(L)
diff --git a/Lib/test/test_bisect.py b/Lib/test/test_bisect.py
index 0baeb1414f..95eafbe06b 100644
--- a/Lib/test/test_bisect.py
+++ b/Lib/test/test_bisect.py
@@ -223,7 +223,7 @@ This example uses bisect() to look up a letter grade for an exam total
...
>>> grade(66)
'C'
- >>> map(grade, [33, 99, 77, 44, 12, 88])
+ >>> list(map(grade, [33, 99, 77, 44, 12, 88]))
['E', 'A', 'B', 'D', 'F', 'A']
"""
diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py
index a2fde023e3..036a9f274f 100644
--- a/Lib/test/test_builtin.py
+++ b/Lib/test/test_builtin.py
@@ -466,11 +466,11 @@ class BuiltinTest(unittest.TestCase):
self.assertEqual((g, l), ({'a': 1}, {'b': 2}))
def test_filter(self):
- self.assertEqual(filter(lambda c: 'a' <= c <= 'z', 'Hello World'), 'elloorld')
- self.assertEqual(filter(None, [1, 'hello', [], [3], '', None, 9, 0]), [1, 'hello', [3], 9])
- self.assertEqual(filter(lambda x: x > 0, [1, -3, 9, 0, 2]), [1, 9, 2])
- self.assertEqual(filter(None, Squares(10)), [1, 4, 9, 16, 25, 36, 49, 64, 81])
- self.assertEqual(filter(lambda x: x%2, Squares(10)), [1, 9, 25, 49, 81])
+ self.assertEqual(list(filter(lambda c: 'a' <= c <= 'z', 'Hello World')), list('elloorld'))
+ self.assertEqual(list(filter(None, [1, 'hello', [], [3], '', None, 9, 0])), [1, 'hello', [3], 9])
+ self.assertEqual(list(filter(lambda x: x > 0, [1, -3, 9, 0, 2])), [1, 9, 2])
+ self.assertEqual(list(filter(None, Squares(10))), [1, 4, 9, 16, 25, 36, 49, 64, 81])
+ self.assertEqual(list(filter(lambda x: x%2, Squares(10))), [1, 9, 25, 49, 81])
def identity(item):
return 1
filter(identity, Squares(5))
@@ -480,67 +480,15 @@ class BuiltinTest(unittest.TestCase):
if index<4:
return 42
raise ValueError
- self.assertRaises(ValueError, filter, lambda x: x, BadSeq())
+ self.assertRaises(ValueError, list, filter(lambda x: x, BadSeq()))
def badfunc():
pass
- self.assertRaises(TypeError, filter, badfunc, range(5))
+ self.assertRaises(TypeError, list, filter(badfunc, range(5)))
# test bltinmodule.c::filtertuple()
- self.assertEqual(filter(None, (1, 2)), (1, 2))
- self.assertEqual(filter(lambda x: x>=3, (1, 2, 3, 4)), (3, 4))
- self.assertRaises(TypeError, filter, 42, (1, 2))
-
- # test bltinmodule.c::filterunicode()
- self.assertEqual(filter(None, "12"), "12")
- self.assertEqual(filter(lambda x: x>="3", "1234"), "34")
- self.assertRaises(TypeError, filter, 42, "12")
- class badstr(str):
- def __getitem__(self, index):
- raise ValueError
- self.assertRaises(ValueError, filter, lambda x: x >="3", badstr("1234"))
-
- class badstr2(str):
- def __getitem__(self, index):
- return 42
- self.assertRaises(TypeError, filter, lambda x: x >=42, badstr2("1234"))
-
- class weirdstr(str):
- def __getitem__(self, index):
- return weirdstr(2*str.__getitem__(self, index))
- self.assertEqual(filter(lambda x: x>="33", weirdstr("1234")), "3344")
-
- class shiftstr(str):
- def __getitem__(self, index):
- return chr(ord(str.__getitem__(self, index))+1)
- self.assertEqual(filter(lambda x: x>="3", shiftstr("1234")), "345")
-
- def test_filter_subclasses(self):
- # test that filter() never returns tuple or str subclasses
- # and that the result always goes through __getitem__
- funcs = (None, bool, lambda x: True)
- class tuple2(tuple):
- def __getitem__(self, index):
- return 2*tuple.__getitem__(self, index)
- class str2(str):
- def __getitem__(self, index):
- return 2*str.__getitem__(self, index)
- inputs = {
- tuple2: {(): (), (1, 2, 3): (2, 4, 6)},
- str2: {"": "", "123": "112233"}
- }
-
- for (cls, inps) in inputs.items():
- for (inp, exp) in inps.items():
- # make sure the output goes through __getitem__
- # even if func is None
- self.assertEqual(
- filter(funcs[0], cls(inp)),
- filter(funcs[1], cls(inp))
- )
- for func in funcs:
- outp = filter(func, cls(inp))
- self.assertEqual(outp, exp)
- self.assert_(not isinstance(outp, cls))
+ self.assertEqual(list(filter(None, (1, 2))), [1, 2])
+ self.assertEqual(list(filter(lambda x: x>=3, (1, 2, 3, 4))), [3, 4])
+ self.assertRaises(TypeError, list, filter(42, (1, 2)))
def test_float(self):
self.assertEqual(float(3.14), 3.14)
@@ -1102,19 +1050,19 @@ class BuiltinTest(unittest.TestCase):
def test_map(self):
self.assertEqual(
- map(None, 'hello world'),
- ['h','e','l','l','o',' ','w','o','r','l','d']
+ list(map(None, 'hello')),
+ [('h',), ('e',), ('l',), ('l',), ('o',)]
)
self.assertEqual(
- map(None, 'abcd', 'efg'),
- [('a', 'e'), ('b', 'f'), ('c', 'g'), ('d', None)]
+ list(map(None, 'abcd', 'efg')),
+ [('a', 'e'), ('b', 'f'), ('c', 'g')]
)
self.assertEqual(
- map(None, range(10)),
- [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+ list(map(None, range(3))),
+ [(0,), (1,), (2,)]
)
self.assertEqual(
- map(lambda x: x*x, range(1,4)),
+ list(map(lambda x: x*x, range(1,4))),
[1, 4, 9]
)
try:
@@ -1123,11 +1071,11 @@ class BuiltinTest(unittest.TestCase):
def sqrt(x):
return pow(x, 0.5)
self.assertEqual(
- map(lambda x: map(sqrt,x), [[16, 4], [81, 9]]),
+ list(map(lambda x: list(map(sqrt, x)), [[16, 4], [81, 9]])),
[[4.0, 2.0], [9.0, 3.0]]
)
self.assertEqual(
- map(lambda x, y: x+y, [1,3,2], [9,1,4]),
+ list(map(lambda x, y: x+y, [1,3,2], [9,1,4])),
[10, 4, 6]
)
@@ -1136,28 +1084,28 @@ class BuiltinTest(unittest.TestCase):
for i in v: accu = accu + i
return accu
self.assertEqual(
- map(plus, [1, 3, 7]),
+ list(map(plus, [1, 3, 7])),
[1, 3, 7]
)
self.assertEqual(
- map(plus, [1, 3, 7], [4, 9, 2]),
+ list(map(plus, [1, 3, 7], [4, 9, 2])),
[1+4, 3+9, 7+2]
)
self.assertEqual(
- map(plus, [1, 3, 7], [4, 9, 2], [1, 1, 0]),
+ list(map(plus, [1, 3, 7], [4, 9, 2], [1, 1, 0])),
[1+4+1, 3+9+1, 7+2+0]
)
self.assertEqual(
- map(None, Squares(10)),
- [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
+ list(map(None, Squares(10))),
+ [(0,), (1,), (4,), (9,), (16,), (25,), (36,), (49,), (64,), (81,)]
)
self.assertEqual(
- map(int, Squares(10)),
+ list(map(int, Squares(10))),
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
)
self.assertEqual(
- map(None, Squares(3), Squares(2)),
- [(0,0), (1,1), (4,None)]
+ list(map(None, Squares(3), Squares(2))),
+ [(0,0), (1,1)]
)
def Max(a, b):
if a is None:
@@ -1166,19 +1114,20 @@ class BuiltinTest(unittest.TestCase):
return a
return max(a, b)
self.assertEqual(
- map(Max, Squares(3), Squares(2)),
- [0, 1, 4]
+ list(map(Max, Squares(3), Squares(2))),
+ [0, 1]
)
self.assertRaises(TypeError, map)
self.assertRaises(TypeError, map, lambda x: x, 42)
- self.assertEqual(map(None, [42]), [42])
+ self.assertEqual(list(map(None, [42])), [(42,)])
class BadSeq:
- def __getitem__(self, index):
+ def __iter__(self):
raise ValueError
- self.assertRaises(ValueError, map, lambda x: x, BadSeq())
+ yield None
+ self.assertRaises(ValueError, list, map(lambda x: x, BadSeq()))
def badfunc(x):
raise RuntimeError
- self.assertRaises(RuntimeError, map, badfunc, range(5))
+ self.assertRaises(RuntimeError, list, map(badfunc, range(5)))
def test_max(self):
self.assertEqual(max('123123'), '3')
diff --git a/Lib/test/test_bytes.py b/Lib/test/test_bytes.py
index 1083321705..a48cf9cbd3 100644
--- a/Lib/test/test_bytes.py
+++ b/Lib/test/test_bytes.py
@@ -158,7 +158,7 @@ class BytesTest(unittest.TestCase):
b = b"x"*20
n = f.readinto(b)
self.assertEqual(n, len(short_sample))
- self.assertEqual(b, sample)
+ self.assertEqual(list(b), list(sample))
# Test writing in binary mode
with open(tfn, "wb") as f:
f.write(b)
@@ -172,7 +172,7 @@ class BytesTest(unittest.TestCase):
pass
def test_reversed(self):
- input = map(ord, "Hello")
+ input = list(map(ord, "Hello"))
b = bytes(input)
output = list(reversed(b))
input.reverse()
@@ -469,7 +469,7 @@ class BytesTest(unittest.TestCase):
self.assertEqual(b"".join([]), bytes())
self.assertEqual(b"".join([bytes()]), bytes())
for part in [("abc",), ("a", "bc"), ("ab", "c"), ("a", "b", "c")]:
- lst = map(bytes, part)
+ lst = list(map(bytes, part))
self.assertEqual(b"".join(lst), bytes("abc"))
self.assertEqual(b"".join(tuple(lst)), bytes("abc"))
self.assertEqual(b"".join(iter(lst)), bytes("abc"))
diff --git a/Lib/test/test_cgi.py b/Lib/test/test_cgi.py
index 0bf18a15e4..6d5bfd6681 100644
--- a/Lib/test/test_cgi.py
+++ b/Lib/test/test_cgi.py
@@ -121,10 +121,11 @@ def norm(seq):
return sorted(seq, key=repr)
def first_elts(list):
- return map(lambda x:x[0], list)
+ return [p[0] for p in list]
def first_second_elts(list):
- return map(lambda p:(p[0], p[1][0]), list)
+ return [(p[0], p[1][0]) for p in list]
+
class CgiTests(unittest.TestCase):
diff --git a/Lib/test/test_datetime.py b/Lib/test/test_datetime.py
index b827658579..3a0b7af5f8 100644
--- a/Lib/test/test_datetime.py
+++ b/Lib/test/test_datetime.py
@@ -830,8 +830,7 @@ class TestDate(HarmlessMixedComparison, unittest.TestCase):
320 348 376
325 353 381
"""
- iso_long_years = map(int, ISO_LONG_YEARS_TABLE.split())
- iso_long_years.sort()
+ iso_long_years = sorted(map(int, ISO_LONG_YEARS_TABLE.split()))
L = []
for i in range(400):
d = self.theclass(2000+i, 12, 31)
diff --git a/Lib/test/test_decimal.py b/Lib/test/test_decimal.py
index 641f51c3c3..f515405da9 100644
--- a/Lib/test/test_decimal.py
+++ b/Lib/test/test_decimal.py
@@ -39,7 +39,7 @@ except ImportError:
threading = None
# Useful Test Constant
-Signals = getcontext().flags.keys()
+Signals = tuple(getcontext().flags.keys())
# Tests are built around these assumed context defaults.
# test_main() restores the original context.
@@ -171,7 +171,7 @@ class DecimalTest(unittest.TestCase):
return self.eval_equation(s)
def eval_directive(self, s):
- funct, value = map(lambda x: x.strip().lower(), s.split(':'))
+ funct, value = (x.strip().lower() for x in s.split(':'))
if funct == 'rounding':
value = RoundingDict[value]
else:
@@ -842,7 +842,7 @@ class DecimalUsabilityTest(unittest.TestCase):
self.assertNotEqual(da, object)
# sortable
- a = map(Decimal, range(100))
+ a = list(map(Decimal, range(100)))
b = a[:]
random.shuffle(a)
a.sort()
diff --git a/Lib/test/test_extcall.py b/Lib/test/test_extcall.py
index b183189fcf..40ebad0bcf 100644
--- a/Lib/test/test_extcall.py
+++ b/Lib/test/test_extcall.py
@@ -263,8 +263,7 @@ for args in ['', 'a', 'ab']:
for vararg in ['', 'v']:
for kwarg in ['', 'k']:
name = 'z' + args + defargs + vararg + kwarg
- arglist = list(args) + map(
- lambda x: '%s="%s"' % (x, x), defargs)
+ arglist = list(args) + ['%s="%s"' % (x, x) for x in defargs]
if vararg: arglist.append('*' + vararg)
if kwarg: arglist.append('**' + kwarg)
decl = (('def %s(%s): print("ok %s", a, b, d, e, v, ' +
diff --git a/Lib/test/test_functools.py b/Lib/test/test_functools.py
index 55c549f6ab..a1e5d13af3 100644
--- a/Lib/test/test_functools.py
+++ b/Lib/test/test_functools.py
@@ -19,6 +19,7 @@ def capture(*args, **kw):
"""capture all positional and keyword arguments"""
return args, kw
+
class TestPartial(unittest.TestCase):
thetype = functools.partial
@@ -28,7 +29,7 @@ class TestPartial(unittest.TestCase):
self.assertEqual(p(3, 4, b=30, c=40),
((1, 2, 3, 4), dict(a=10, b=30, c=40)))
p = self.thetype(map, lambda x: x*10)
- self.assertEqual(p([1,2,3,4]), [10, 20, 30, 40])
+ self.assertEqual(list(p([1,2,3,4])), [10, 20, 30, 40])
def test_attributes(self):
p = self.thetype(capture, 1, 2, a=10, b=20)
@@ -134,7 +135,7 @@ class TestPartial(unittest.TestCase):
self.assertRaises(ReferenceError, getattr, p, 'func')
def test_with_bound_and_unbound_methods(self):
- data = map(str, range(10))
+ data = list(map(str, range(10)))
join = self.thetype(str.join, '')
self.assertEqual(join(data), '0123456789')
join = self.thetype(''.join)
diff --git a/Lib/test/test_genexps.py b/Lib/test/test_genexps.py
index 7b5fdc451e..ee582e3052 100644
--- a/Lib/test/test_genexps.py
+++ b/Lib/test/test_genexps.py
@@ -128,7 +128,7 @@ Verify late binding for the innermost for-expression
Verify re-use of tuples (a side benefit of using genexps over listcomps)
- >>> tupleids = map(id, ((i,i) for i in range(10)))
+ >>> tupleids = list(map(id, ((i,i) for i in range(10))))
>>> int(max(tupleids) - min(tupleids))
0
diff --git a/Lib/test/test_grp.py b/Lib/test/test_grp.py
index ede9c72821..978dee98cb 100755
--- a/Lib/test/test_grp.py
+++ b/Lib/test/test_grp.py
@@ -54,7 +54,7 @@ class GroupDatabaseTestCase(unittest.TestCase):
namei = 0
fakename = allnames[namei]
while fakename in bynames:
- chars = map(None, fakename)
+ chars = list(fakename)
for i in range(len(chars)):
if chars[i] == 'z':
chars[i] = 'A'
@@ -71,7 +71,7 @@ class GroupDatabaseTestCase(unittest.TestCase):
except IndexError:
# should never happen... if so, just forget it
break
- fakename = ''.join(map(None, chars))
+ fakename = ''.join(chars)
self.assertRaises(KeyError, grp.getgrnam, fakename)
diff --git a/Lib/test/test_hash.py b/Lib/test/test_hash.py
index 9578537be9..eff0c7c5e5 100644
--- a/Lib/test/test_hash.py
+++ b/Lib/test/test_hash.py
@@ -11,7 +11,7 @@ class HashEqualityTestCase(unittest.TestCase):
def same_hash(self, *objlist):
# Hash each object given and fail if
# the hash values are not all the same.
- hashed = map(hash, objlist)
+ hashed = list(map(hash, objlist))
for h in hashed[1:]:
if h != hashed[0]:
self.fail("hashed values differ: %r" % (objlist,))
diff --git a/Lib/test/test_heapq.py b/Lib/test/test_heapq.py
index ceaf3cc0ee..62f9662ee6 100644
--- a/Lib/test/test_heapq.py
+++ b/Lib/test/test_heapq.py
@@ -130,16 +130,17 @@ class TestHeap(unittest.TestCase):
data = [(random.randrange(2000), i) for i in range(1000)]
for f in (None, lambda x: x[0] * 547 % 2000):
for n in (0, 1, 2, 10, 100, 400, 999, 1000, 1100):
- self.assertEqual(nsmallest(n, data), sorted(data)[:n])
- self.assertEqual(nsmallest(n, data, key=f),
+ self.assertEqual(list(nsmallest(n, data)), sorted(data)[:n])
+ self.assertEqual(list(nsmallest(n, data, key=f)),
sorted(data, key=f)[:n])
def test_nlargest(self):
data = [(random.randrange(2000), i) for i in range(1000)]
for f in (None, lambda x: x[0] * 547 % 2000):
for n in (0, 1, 2, 10, 100, 400, 999, 1000, 1100):
- self.assertEqual(nlargest(n, data), sorted(data, reverse=True)[:n])
- self.assertEqual(nlargest(n, data, key=f),
+ self.assertEqual(list(nlargest(n, data)),
+ sorted(data, reverse=True)[:n])
+ self.assertEqual(list(nlargest(n, data, key=f)),
sorted(data, key=f, reverse=True)[:n])
@@ -279,8 +280,8 @@ class TestErrorHandling(unittest.TestCase):
for f in (nlargest, nsmallest):
for s in ("123", "", range(1000), (1, 1.2), range(2000,2200,5)):
for g in (G, I, Ig, L, R):
- self.assertEqual(f(2, g(s)), f(2,s))
- self.assertEqual(f(2, S(s)), [])
+ self.assertEqual(list(f(2, g(s))), list(f(2,s)))
+ self.assertEqual(list(f(2, S(s))), [])
self.assertRaises(TypeError, f, 2, X(s))
self.assertRaises(TypeError, f, 2, N(s))
self.assertRaises(ZeroDivisionError, f, 2, E(s))
diff --git a/Lib/test/test_inspect.py b/Lib/test/test_inspect.py
index bdd7c34eb0..75bd4087e5 100644
--- a/Lib/test/test_inspect.py
+++ b/Lib/test/test_inspect.py
@@ -44,7 +44,7 @@ class IsTestBase(unittest.TestCase):
class TestPredicates(IsTestBase):
def test_thirteen(self):
- count = len(filter(lambda x:x.startswith('is'), dir(inspect)))
+ count = len([x for x in dir(inspect) if x.startswith('is')])
# Doc/lib/libinspect.tex claims there are 13 such functions
expected = 13
err_msg = "There are %d (not %d) is* functions" % (count, expected)
diff --git a/Lib/test/test_iter.py b/Lib/test/test_iter.py
index f7712db7b7..b92c50aad7 100644
--- a/Lib/test/test_iter.py
+++ b/Lib/test/test_iter.py
@@ -305,13 +305,14 @@ class TestCase(unittest.TestCase):
# Test filter()'s use of iterators.
def test_builtin_filter(self):
- self.assertEqual(filter(None, SequenceClass(5)), list(range(1, 5)))
- self.assertEqual(filter(None, SequenceClass(0)), [])
- self.assertEqual(filter(None, ()), ())
- self.assertEqual(filter(None, "abc"), "abc")
+ self.assertEqual(list(filter(None, SequenceClass(5))),
+ list(range(1, 5)))
+ self.assertEqual(list(filter(None, SequenceClass(0))), [])
+ self.assertEqual(list(filter(None, ())), [])
+ self.assertEqual(list(filter(None, "abc")), ["a", "b", "c"])
d = {"one": 1, "two": 2, "three": 3}
- self.assertEqual(filter(None, d), list(d.keys()))
+ self.assertEqual(list(filter(None, d)), list(d.keys()))
self.assertRaises(TypeError, filter, None, list)
self.assertRaises(TypeError, filter, None, 42)
@@ -344,8 +345,8 @@ class TestCase(unittest.TestCase):
return SeqIter(self.vals)
seq = Seq(*([bTrue, bFalse] * 25))
- self.assertEqual(filter(lambda x: not x, seq), [bFalse]*25)
- self.assertEqual(filter(lambda x: not x, iter(seq)), [bFalse]*25)
+ self.assertEqual(list(filter(lambda x: not x, seq)), [bFalse]*25)
+ self.assertEqual(list(filter(lambda x: not x, iter(seq))), [bFalse]*25)
# Test max() and min()'s use of iterators.
def test_builtin_max_min(self):
@@ -381,20 +382,24 @@ class TestCase(unittest.TestCase):
# Test map()'s use of iterators.
def test_builtin_map(self):
- self.assertEqual(map(None, SequenceClass(5)), list(range(5)))
- self.assertEqual(map(lambda x: x+1, SequenceClass(5)), list(range(1, 6)))
+ self.assertEqual(list(map(None, SequenceClass(5))),
+ [(0,), (1,), (2,), (3,), (4,)])
+ self.assertEqual(list(map(lambda x: x+1, SequenceClass(5))),
+ list(range(1, 6)))
d = {"one": 1, "two": 2, "three": 3}
- self.assertEqual(map(None, d), list(d.keys()))
- self.assertEqual(map(lambda k, d=d: (k, d[k]), d), list(d.items()))
+ self.assertEqual(list(map(None, d)), [(k,) for k in d])
+ self.assertEqual(list(map(lambda k, d=d: (k, d[k]), d)),
+ list(d.items()))
dkeys = list(d.keys())
expected = [(i < len(d) and dkeys[i] or None,
i,
i < len(d) and dkeys[i] or None)
- for i in range(5)]
- self.assertEqual(map(None, d,
- SequenceClass(5),
- iter(d.keys())),
+ for i in range(3)]
+ self.assertEqual(list(map(None,
+ d,
+ SequenceClass(5),
+ iter(d.keys()))),
expected)
f = open(TESTFN, "w")
@@ -405,7 +410,7 @@ class TestCase(unittest.TestCase):
f.close()
f = open(TESTFN, "r")
try:
- self.assertEqual(map(len, f), list(range(1, 21, 2)))
+ self.assertEqual(list(map(len, f)), list(range(1, 21, 2)))
finally:
f.close()
try:
diff --git a/Lib/test/test_itertools.py b/Lib/test/test_itertools.py
index 6dfc52e11b..e3728d8d33 100644
--- a/Lib/test/test_itertools.py
+++ b/Lib/test/test_itertools.py
@@ -199,9 +199,9 @@ class TestBasicOps(unittest.TestCase):
lzip('abc', 'def'))
self.assertEqual([pair for pair in izip('abc', 'def')],
lzip('abc', 'def'))
- ids = map(id, izip('abc', 'def'))
+ ids = list(map(id, izip('abc', 'def')))
self.assertEqual(min(ids), max(ids))
- ids = map(id, list(izip('abc', 'def')))
+ ids = list(map(id, list(izip('abc', 'def'))))
self.assertEqual(len(dict.fromkeys(ids)), len(ids))
def test_iziplongest(self):
@@ -212,7 +212,8 @@ class TestBasicOps(unittest.TestCase):
[range(1000), range(0), range(3000,3050), range(1200), range(1500)],
[range(1000), range(0), range(3000,3050), range(1200), range(1500), range(0)],
]:
- target = map(None, *args)
+ target = [tuple([arg[i] if i < len(arg) else None for arg in args])
+ for i in range(max(map(len, args)))]
self.assertEqual(list(izip_longest(*args)), target)
self.assertEqual(list(izip_longest(*args, **{})), target)
target = [tuple((e is None and 'X' or e) for e in t) for t in target] # Replace None fills with 'X'
@@ -224,7 +225,8 @@ class TestBasicOps(unittest.TestCase):
self.assertEqual(list(izip_longest([])), list(zip([])))
self.assertEqual(list(izip_longest('abcdef')), list(zip('abcdef')))
- self.assertEqual(list(izip_longest('abc', 'defg', **{})), map(None, 'abc', 'defg')) # empty keyword dict
+ self.assertEqual(list(izip_longest('abc', 'defg', **{})),
+ list(map(None, list('abc')+[None], 'defg'))) # empty keyword dict
self.assertRaises(TypeError, izip_longest, 3)
self.assertRaises(TypeError, izip_longest, range(3), 3)
@@ -244,9 +246,9 @@ class TestBasicOps(unittest.TestCase):
list(zip('abc', 'def')))
self.assertEqual([pair for pair in izip_longest('abc', 'def')],
list(zip('abc', 'def')))
- ids = map(id, izip_longest('abc', 'def'))
+ ids = list(map(id, izip_longest('abc', 'def')))
self.assertEqual(min(ids), max(ids))
- ids = map(id, list(izip_longest('abc', 'def')))
+ ids = list(map(id, list(izip_longest('abc', 'def'))))
self.assertEqual(len(dict.fromkeys(ids)), len(ids))
def test_repeat(self):
@@ -432,7 +434,7 @@ class TestBasicOps(unittest.TestCase):
result = tee('abc', n)
self.assertEqual(type(result), tuple)
self.assertEqual(len(result), n)
- self.assertEqual(map(list, result), [list('abc')]*n)
+ self.assertEqual([list(x) for x in result], [list('abc')]*n)
# tee pass-through to copyable iterator
a, b = tee('abc')
@@ -642,7 +644,8 @@ class TestVariousIteratorArgs(unittest.TestCase):
def test_ifilter(self):
for s in (range(10), range(0), range(1000), (7,11), range(2000,2200,5)):
for g in (G, I, Ig, S, L, R):
- self.assertEqual(list(ifilter(isEven, g(s))), filter(isEven, g(s)))
+ self.assertEqual(list(ifilter(isEven, g(s))),
+ [x for x in g(s) if isEven(x)])
self.assertRaises(TypeError, ifilter, isEven, X(s))
self.assertRaises(TypeError, ifilter, isEven, N(s))
self.assertRaises(ZeroDivisionError, list, ifilter(isEven, E(s)))
@@ -650,7 +653,8 @@ class TestVariousIteratorArgs(unittest.TestCase):
def test_ifilterfalse(self):
for s in (range(10), range(0), range(1000), (7,11), range(2000,2200,5)):
for g in (G, I, Ig, S, L, R):
- self.assertEqual(list(ifilterfalse(isEven, g(s))), filter(isOdd, g(s)))
+ self.assertEqual(list(ifilterfalse(isEven, g(s))),
+ [x for x in g(s) if isOdd(x)])
self.assertRaises(TypeError, ifilterfalse, isEven, X(s))
self.assertRaises(TypeError, ifilterfalse, isEven, N(s))
self.assertRaises(ZeroDivisionError, list, ifilterfalse(isEven, E(s)))
@@ -676,8 +680,10 @@ class TestVariousIteratorArgs(unittest.TestCase):
def test_imap(self):
for s in (range(10), range(0), range(100), (7,11), range(20,50,5)):
for g in (G, I, Ig, S, L, R):
- self.assertEqual(list(imap(onearg, g(s))), map(onearg, g(s)))
- self.assertEqual(list(imap(operator.pow, g(s), g(s))), map(operator.pow, g(s), g(s)))
+ self.assertEqual(list(imap(onearg, g(s))),
+ [onearg(x) for x in g(s)])
+ self.assertEqual(list(imap(operator.pow, g(s), g(s))),
+ [x**x for x in g(s)])
self.assertRaises(TypeError, imap, onearg, X(s))
self.assertRaises(TypeError, imap, onearg, N(s))
self.assertRaises(ZeroDivisionError, list, imap(onearg, E(s)))
@@ -694,7 +700,8 @@ class TestVariousIteratorArgs(unittest.TestCase):
for s in (range(10), range(0), range(100), (7,11), range(20,50,5)):
for g in (G, I, Ig, S, L, R):
ss = lzip(s, s)
- self.assertEqual(list(starmap(operator.pow, g(ss))), map(operator.pow, g(s), g(s)))
+ self.assertEqual(list(starmap(operator.pow, g(ss))),
+ [x**x for x in g(s)])
self.assertRaises(TypeError, starmap, operator.pow, X(ss))
self.assertRaises(TypeError, starmap, operator.pow, N(ss))
self.assertRaises(ZeroDivisionError, list, starmap(operator.pow, E(ss)))
@@ -849,7 +856,7 @@ Samuele
>>> d = dict(a=1, b=2, c=1, d=2, e=1, f=2, g=3)
>>> di = sorted(sorted(d.items()), key=itemgetter(1))
>>> for k, g in groupby(di, itemgetter(1)):
-... print(k, map(itemgetter(0), g))
+... print(k, list(map(itemgetter(0), g)))
...
1 ['a', 'c', 'e']
2 ['b', 'd', 'f']
@@ -860,7 +867,7 @@ Samuele
# same group.
>>> data = [ 1, 4,5,6, 10, 15,16,17,18, 22, 25,26,27,28]
>>> for k, g in groupby(enumerate(data), lambda t:t[0]-t[1]):
-... print(map(operator.itemgetter(1), g))
+... print(list(map(operator.itemgetter(1), g)))
...
[1]
[4, 5, 6]
diff --git a/Lib/test/test_long.py b/Lib/test/test_long.py
index 9e56d31c8c..140a2b04b1 100644
--- a/Lib/test/test_long.py
+++ b/Lib/test/test_long.py
@@ -23,9 +23,7 @@ KARATSUBA_CUTOFF = 70 # from longobject.c
MAXDIGITS = 15
# build some special values
-special = map(int, [0, 1, 2, BASE, BASE >> 1])
-special.append(0x5555555555555555)
-special.append(0xaaaaaaaaaaaaaaaa)
+special = [0, 1, 2, BASE, BASE >> 1, 0x5555555555555555, 0xaaaaaaaaaaaaaaaa]
# some solid strings of one bits
p2 = 4 # 0 and 1 already added
for i in range(2*SHIFT):
@@ -33,8 +31,7 @@ for i in range(2*SHIFT):
p2 = p2 << 1
del p2
# add complements & negations
-special = special + map(lambda x: ~x, special) + \
- map(lambda x: -x, special)
+special += [~x for x in special] + [-x for x in special]
class LongTest(unittest.TestCase):
diff --git a/Lib/test/test_mailbox.py b/Lib/test/test_mailbox.py
index 84a9e5cdc5..e426117cc1 100644
--- a/Lib/test/test_mailbox.py
+++ b/Lib/test/test_mailbox.py
@@ -1669,7 +1669,7 @@ class MaildirTestCase(unittest.TestCase):
self._msgfiles = []
def tearDown(self):
- map(os.unlink, self._msgfiles)
+ list(map(os.unlink, self._msgfiles))
os.rmdir(os.path.join(self._dir, "cur"))
os.rmdir(os.path.join(self._dir, "tmp"))
os.rmdir(os.path.join(self._dir, "new"))
diff --git a/Lib/test/test_mhlib.py b/Lib/test/test_mhlib.py
index f425cb9c0b..1b1af6a09c 100644
--- a/Lib/test/test_mhlib.py
+++ b/Lib/test/test_mhlib.py
@@ -179,18 +179,17 @@ class MhlibTests(unittest.TestCase):
folders = mh.listallfolders()
folders.sort()
- tfolders = map(normF, ['deep', 'deep/f1', 'deep/f2', 'deep/f2/f3',
- 'inbox', 'wide'])
- tfolders.sort()
+ tfolders = sorted(map(normF, ['deep', 'deep/f1', 'deep/f2',
+ 'deep/f2/f3', 'inbox', 'wide']))
eq(folders, tfolders)
folders = mh.listsubfolders('deep')
folders.sort()
- eq(folders, map(normF, ['deep/f1', 'deep/f2']))
+ eq(folders, list(map(normF, ['deep/f1', 'deep/f2'])))
folders = mh.listallsubfolders('deep')
folders.sort()
- eq(folders, map(normF, ['deep/f1', 'deep/f2', 'deep/f2/f3']))
+ eq(folders, list(map(normF, ['deep/f1', 'deep/f2', 'deep/f2/f3'])))
eq(mh.listsubfolders(normF('deep/f2')), [normF('deep/f2/f3')])
eq(mh.listsubfolders('inbox'), [])
diff --git a/Lib/test/test_old_mailbox.py b/Lib/test/test_old_mailbox.py
index 7bd555758a..b8815062f4 100644
--- a/Lib/test/test_old_mailbox.py
+++ b/Lib/test/test_old_mailbox.py
@@ -35,7 +35,7 @@ class MaildirTestCase(unittest.TestCase):
self._msgfiles = []
def tearDown(self):
- map(os.unlink, self._msgfiles)
+ list(map(os.unlink, self._msgfiles))
os.rmdir(os.path.join(self._dir, "cur"))
os.rmdir(os.path.join(self._dir, "tmp"))
os.rmdir(os.path.join(self._dir, "new"))
diff --git a/Lib/test/test_operator.py b/Lib/test/test_operator.py
index 8b705e4b3a..6142a7ffb2 100644
--- a/Lib/test/test_operator.py
+++ b/Lib/test/test_operator.py
@@ -393,12 +393,12 @@ class OperatorTestCase(unittest.TestCase):
# example used in the docs
inventory = [('apple', 3), ('banana', 2), ('pear', 5), ('orange', 1)]
getcount = operator.itemgetter(1)
- self.assertEqual(map(getcount, inventory), [3, 2, 5, 1])
+ self.assertEqual(list(map(getcount, inventory)), [3, 2, 5, 1])
self.assertEqual(sorted(inventory, key=getcount),
[('orange', 1), ('banana', 2), ('apple', 3), ('pear', 5)])
# multiple gets
- data = map(str, range(20))
+ data = list(map(str, range(20)))
self.assertEqual(operator.itemgetter(2,10,5)(data), ('2', '10', '5'))
self.assertRaises(TypeError, operator.itemgetter(2, 'x', 5), data)
diff --git a/Lib/test/test_pwd.py b/Lib/test/test_pwd.py
index a50ed2168e..7abf905af6 100644
--- a/Lib/test/test_pwd.py
+++ b/Lib/test/test_pwd.py
@@ -59,7 +59,7 @@ class PwdTest(unittest.TestCase):
namei = 0
fakename = allnames[namei]
while fakename in bynames:
- chars = map(None, fakename)
+ chars = list(fakename)
for i in range(len(chars)):
if chars[i] == 'z':
chars[i] = 'A'
@@ -76,7 +76,7 @@ class PwdTest(unittest.TestCase):
except IndexError:
# should never happen... if so, just forget it
break
- fakename = ''.join(map(None, chars))
+ fakename = ''.join(chars)
self.assertRaises(KeyError, pwd.getpwnam, fakename)
diff --git a/Lib/test/test_weakref.py b/Lib/test/test_weakref.py
index 92d80318b3..1399ade653 100644
--- a/Lib/test/test_weakref.py
+++ b/Lib/test/test_weakref.py
@@ -740,15 +740,15 @@ class MappingTestCase(TestBase):
items2 = dict.copy().items()
items1.sort()
items2.sort()
- self.assert_(items1 == items2,
+ self.assertEqual(items1, items2,
"cloning of weak-valued dictionary did not work!")
del items1, items2
- self.assert_(len(dict) == self.COUNT)
+ self.assertEqual(len(dict), self.COUNT)
del objects[0]
- self.assert_(len(dict) == (self.COUNT - 1),
+ self.assertEqual(len(dict), self.COUNT - 1,
"deleting object did not cause dictionary update")
del objects, o
- self.assert_(len(dict) == 0,
+ self.assertEqual(len(dict), 0,
"deleting the values did not clear the dictionary")
# regression on SF bug #447152:
dict = weakref.WeakValueDictionary()
@@ -875,14 +875,14 @@ class MappingTestCase(TestBase):
def make_weak_keyed_dict(self):
dict = weakref.WeakKeyDictionary()
- objects = map(Object, range(self.COUNT))
+ objects = list(map(Object, range(self.COUNT)))
for o in objects:
dict[o] = o.arg
return dict, objects
def make_weak_valued_dict(self):
dict = weakref.WeakValueDictionary()
- objects = map(Object, range(self.COUNT))
+ objects = list(map(Object, range(self.COUNT)))
for o in objects:
dict[o.arg] = o
return dict, objects
diff --git a/Lib/test/test_xml_etree.py b/Lib/test/test_xml_etree.py
index 4e21fd9973..1c5edd0d66 100644
--- a/Lib/test/test_xml_etree.py
+++ b/Lib/test/test_xml_etree.py
@@ -53,7 +53,7 @@ def summarize(elem):
return elem.tag
def summarize_list(seq):
- return map(summarize, seq)
+ return list(map(summarize, seq))
def interface():
"""
diff --git a/Lib/test/test_xml_etree_c.py b/Lib/test/test_xml_etree_c.py
index 1479247c92..49cdfdee14 100644
--- a/Lib/test/test_xml_etree_c.py
+++ b/Lib/test/test_xml_etree_c.py
@@ -51,7 +51,7 @@ def summarize(elem):
return elem.tag
def summarize_list(seq):
- return map(summarize, seq)
+ return list(map(summarize, seq))
def interface():
"""
diff --git a/Lib/textwrap.py b/Lib/textwrap.py
index 22a625250d..3afc269241 100644
--- a/Lib/textwrap.py
+++ b/Lib/textwrap.py
@@ -63,8 +63,8 @@ class TextWrapper:
unicode_whitespace_trans = {}
uspace = ord(' ')
- for x in map(ord, _whitespace):
- unicode_whitespace_trans[x] = uspace
+ for x in _whitespace:
+ unicode_whitespace_trans[ord(x)] = uspace
# This funky little regex is just the trick for splitting
# text up into word-wrappable chunks. E.g.
@@ -136,7 +136,7 @@ class TextWrapper:
'use', ' ', 'the', ' ', '-b', ' ', 'option!'
"""
chunks = self.wordsep_re.split(text)
- chunks = filter(None, chunks) # remove empty chunks
+ chunks = [c for c in chunks if c]
return chunks
def _fix_sentence_endings(self, chunks):
diff --git a/Lib/unittest.py b/Lib/unittest.py
index a4ced3dd4e..16f062b3ab 100644
--- a/Lib/unittest.py
+++ b/Lib/unittest.py
@@ -586,7 +586,7 @@ class TestLoader:
"""
def isTestMethod(attrname, testCaseClass=testCaseClass, prefix=self.testMethodPrefix):
return attrname.startswith(prefix) and hasattr(getattr(testCaseClass, attrname), '__call__')
- testFnNames = filter(isTestMethod, dir(testCaseClass))
+ testFnNames = list(filter(isTestMethod, dir(testCaseClass)))
if self.sortTestMethodsUsing:
testFnNames.sort(self.sortTestMethodsUsing)
return testFnNames
@@ -725,7 +725,7 @@ class TextTestRunner:
self.stream.writeln()
if not result.wasSuccessful():
self.stream.write("FAILED (")
- failed, errored = map(len, (result.failures, result.errors))
+ failed, errored = len(result.failures), len(result.errors)
if failed:
self.stream.write("failures=%d" % failed)
if errored:
diff --git a/Lib/urllib2.py b/Lib/urllib2.py
index 4ae7df4bdf..f15da217cc 100644
--- a/Lib/urllib2.py
+++ b/Lib/urllib2.py
@@ -1222,7 +1222,7 @@ class FileHandler(BaseHandler):
if host:
host, port = splitport(host)
if not host or \
- (not port and socket.gethostbyname(host) in self.get_names()):
+ (not port and _safe_gethostbyname(host) in self.get_names()):
return addinfourl(open(localfile, 'rb'),
headers, 'file:'+file)
except OSError as msg:
@@ -1230,6 +1230,12 @@ class FileHandler(BaseHandler):
raise URLError(msg)
raise URLError('file not on local host')
+def _safe_gethostbyname(host):
+ try:
+ return socket.gethostbyname(host)
+ except socket.gaierror:
+ return None
+
class FTPHandler(BaseHandler):
def ftp_open(self, req):
import ftplib
@@ -1259,7 +1265,7 @@ class FTPHandler(BaseHandler):
raise URLError(msg)
path, attrs = splitattr(req.get_selector())
dirs = path.split('/')
- dirs = map(unquote, dirs)
+ dirs = list(map(unquote, dirs))
dirs, file = dirs[:-1], dirs[-1]
if dirs and not dirs[0]:
dirs = dirs[1:]
diff --git a/Lib/zipfile.py b/Lib/zipfile.py
index 2fb1ea5643..4791aea5ad 100644
--- a/Lib/zipfile.py
+++ b/Lib/zipfile.py
@@ -793,7 +793,7 @@ class ZipFile:
# completely random, while the 12th contains the MSB of the CRC,
# and is used to check the correctness of the password.
bytes = zef_file.read(12)
- h = map(zd, bytes[0:12])
+ h = list(map(zd, bytes[0:12]))
if h[11] != ((zinfo.CRC>>24) & 255):
raise RuntimeError, "Bad password for file %s" % name