diff --git a/Doc/library/email.generator.rst b/Doc/library/email.generator.rst
index fc535a3e439..c09ae8cbc60 100644
--- a/Doc/library/email.generator.rst
+++ b/Doc/library/email.generator.rst
@@ -188,7 +188,7 @@ to be using :class:`BytesGenerator`, and not :class:`Generator`.
(This is required because strings cannot represent non-ASCII bytes.)
Convert any bytes with the high bit set as needed using an
ASCII-compatible :mailheader:`Content-Transfer-Encoding`. That is,
- transform parts with non-ASCII :mailheader:`Cotnent-Transfer-Encoding`
+ transform parts with non-ASCII :mailheader:`Content-Transfer-Encoding`
(:mailheader:`Content-Transfer-Encoding: 8bit`) to an ASCII compatible
:mailheader:`Content-Transfer-Encoding`, and encode RFC-invalid non-ASCII
bytes in headers using the MIME ``unknown-8bit`` character set, thus
diff --git a/Doc/library/pyclbr.rst b/Doc/library/pyclbr.rst
index a70c8df6a7b..b80a2faed9b 100644
--- a/Doc/library/pyclbr.rst
+++ b/Doc/library/pyclbr.rst
@@ -44,7 +44,7 @@ modules.
.. versionadded:: 3.7
Descriptors for nested definitions. They are accessed through the
- new children attibute. Each has a new parent attribute.
+ new children attribute. Each has a new parent attribute.
The descriptors returned by these functions are instances of
Function and Class classes. Users are not expected to create instances
diff --git a/Lib/idlelib/configdialog.py b/Lib/idlelib/configdialog.py
index 31520a3b0d1..4aaec1321f7 100644
--- a/Lib/idlelib/configdialog.py
+++ b/Lib/idlelib/configdialog.py
@@ -2225,7 +2225,7 @@ key set, with a different name.
'General': '''
General:
-AutoComplete: Popupwait is milleseconds to wait after key char, without
+AutoComplete: Popupwait is milliseconds to wait after key char, without
cursor movement, before popping up completion box. Key char is '.' after
identifier or a '/' (or '\\' on Windows) within a string.
diff --git a/Lib/idlelib/help.html b/Lib/idlelib/help.html
index 7e743e6d813..ba44331e87b 100644
--- a/Lib/idlelib/help.html
+++ b/Lib/idlelib/help.html
@@ -721,7 +721,7 @@ facilitate development of tkinter programs. Enter root = tk.Tk()
in standard Python and nothing appears. Enter the same
in IDLE and a tk window appears. In standard Python, one must also enter
root.update()
to see the window. IDLE does the equivalent in the
-background, about 20 times a second, which is about every 50 milleseconds.
+background, about 20 times a second, which is about every 50 milliseconds.
Next enter b = tk.Button(root, text='button'); b.pack()
. Again,
nothing visibly changes in standard Python until one enters root.update()
.
Most tkinter programs run root.mainloop()
, which usually does not
diff --git a/Lib/idlelib/help.py b/Lib/idlelib/help.py
index 0603ede822b..652444a7f14 100644
--- a/Lib/idlelib/help.py
+++ b/Lib/idlelib/help.py
@@ -2,7 +2,7 @@
Contents are subject to revision at any time, without notice.
-Help => About IDLE: diplay About Idle dialog
+Help => About IDLE: display About Idle dialog
diff --git a/Lib/idlelib/idle_test/test_config.py b/Lib/idlelib/idle_test/test_config.py
index 7e2c1fd2958..255210df7d9 100644
--- a/Lib/idlelib/idle_test/test_config.py
+++ b/Lib/idlelib/idle_test/test_config.py
@@ -521,7 +521,7 @@ class IdleConfTest(unittest.TestCase):
def test_get_keyset(self):
conf = self.mock_config()
- # Conflic with key set, should be disable to ''
+ # Conflict with key set, should be disable to ''
conf.defaultCfg['extensions'].add_section('Foobar')
conf.defaultCfg['extensions'].add_section('Foobar_cfgBindings')
conf.defaultCfg['extensions'].set('Foobar', 'enable', 'True')
diff --git a/Lib/lib2to3/pgen2/tokenize.py b/Lib/lib2to3/pgen2/tokenize.py
index c07b34f7c64..279d322971d 100644
--- a/Lib/lib2to3/pgen2/tokenize.py
+++ b/Lib/lib2to3/pgen2/tokenize.py
@@ -321,7 +321,7 @@ def untokenize(iterable):
Round-trip invariant for full input:
Untokenized source will match input source exactly
- Round-trip invariant for limited intput:
+ Round-trip invariant for limited input:
# Output text will tokenize the back to the input
t1 = [tok[:2] for tok in generate_tokens(f.readline)]
newcode = untokenize(t1)
diff --git a/Lib/multiprocessing/resource_sharer.py b/Lib/multiprocessing/resource_sharer.py
index 730b2aa17bd..8d5c9900f69 100644
--- a/Lib/multiprocessing/resource_sharer.py
+++ b/Lib/multiprocessing/resource_sharer.py
@@ -59,7 +59,7 @@ else:
class _ResourceSharer(object):
- '''Manager for resouces using background thread.'''
+ '''Manager for resources using background thread.'''
def __init__(self):
self._key = 0
self._cache = {}
diff --git a/Lib/pathlib.py b/Lib/pathlib.py
index 1ba98b19e83..952cd94921e 100644
--- a/Lib/pathlib.py
+++ b/Lib/pathlib.py
@@ -34,7 +34,7 @@ __all__ = [
# Internals
#
-# EBADF - guard agains macOS `stat` throwing EBADF
+# EBADF - guard against macOS `stat` throwing EBADF
_IGNORED_ERROS = (ENOENT, ENOTDIR, EBADF)
_IGNORED_WINERRORS = (
diff --git a/Lib/platform.py b/Lib/platform.py
index 9f7bd95980a..6fbb7b08c59 100755
--- a/Lib/platform.py
+++ b/Lib/platform.py
@@ -72,7 +72,7 @@
# type information
# 0.4.0 - added win32_ver() and modified the platform() output for WinXX
# 0.3.4 - fixed a bug in _follow_symlinks()
-# 0.3.3 - fixed popen() and "file" command invokation bugs
+# 0.3.3 - fixed popen() and "file" command invocation bugs
# 0.3.2 - added architecture() API and support for it in platform()
# 0.3.1 - fixed syscmd_ver() RE to support Windows NT
# 0.3.0 - added system alias support
diff --git a/Lib/pstats.py b/Lib/pstats.py
index ded5ae59f7d..b7649ebc6f1 100644
--- a/Lib/pstats.py
+++ b/Lib/pstats.py
@@ -509,7 +509,7 @@ def func_std_string(func_name): # match what old profile produced
return "%s:%d(%s)" % func_name
#**************************************************************************
-# The following functions combine statists for pairs functions.
+# The following functions combine statistics for pairs functions.
# The bulk of the processing involves correctly handling "call" lists,
# such as callers and callees.
#**************************************************************************
diff --git a/Lib/test/datetimetester.py b/Lib/test/datetimetester.py
index 9fe32ebc5b3..af0047fafd8 100644
--- a/Lib/test/datetimetester.py
+++ b/Lib/test/datetimetester.py
@@ -3483,7 +3483,7 @@ class TZInfoBase:
self.assertEqual(got, expected)
# However, if they're different members, uctoffset is not ignored.
- # Note that a time can't actually have an operand-depedent offset,
+ # Note that a time can't actually have an operand-dependent offset,
# though (and time.utcoffset() passes None to tzinfo.utcoffset()),
# so skip this test for time.
if cls is not time:
diff --git a/Lib/test/pickletester.py b/Lib/test/pickletester.py
index 8f687c49e69..bb8e6ce0964 100644
--- a/Lib/test/pickletester.py
+++ b/Lib/test/pickletester.py
@@ -2222,7 +2222,7 @@ class AbstractPickleTests(unittest.TestCase):
frame_size = self.FRAME_SIZE_TARGET
num_frames = 20
- # Large byte objects (dict values) intermitted with small objects
+ # Large byte objects (dict values) intermittent with small objects
# (dict keys)
obj = {i: bytes([i]) * frame_size for i in range(num_frames)}
diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py
index dc96318b38f..9e60d960ab1 100644
--- a/Lib/test/support/__init__.py
+++ b/Lib/test/support/__init__.py
@@ -1006,7 +1006,7 @@ def temp_dir(path=None, quiet=False):
yield path
finally:
# In case the process forks, let only the parent remove the
- # directory. The child has a diffent process id. (bpo-30028)
+ # directory. The child has a different process id. (bpo-30028)
if dir_created and pid == os.getpid():
rmtree(path)
diff --git a/Lib/test/test_dataclasses.py b/Lib/test/test_dataclasses.py
index d320a969876..867210688f5 100755
--- a/Lib/test/test_dataclasses.py
+++ b/Lib/test/test_dataclasses.py
@@ -1458,7 +1458,7 @@ class TestCase(unittest.TestCase):
}
)
- # Make sure that the returned dicts are actuall OrderedDicts.
+ # Make sure that the returned dicts are actually OrderedDicts.
self.assertIs(type(d), OrderedDict)
self.assertIs(type(d['y'][1]), OrderedDict)
diff --git a/Lib/test/test_importlib/test_lazy.py b/Lib/test/test_importlib/test_lazy.py
index ffd8dc6cb04..28608e95d06 100644
--- a/Lib/test/test_importlib/test_lazy.py
+++ b/Lib/test/test_importlib/test_lazy.py
@@ -56,7 +56,7 @@ class LazyLoaderTests(unittest.TestCase):
def test_init(self):
with self.assertRaises(TypeError):
- # Classes that dono't define exec_module() trigger TypeError.
+ # Classes that don't define exec_module() trigger TypeError.
util.LazyLoader(object)
def new_module(self, source_code=None):
diff --git a/Lib/test/test_random.py b/Lib/test/test_random.py
index e818a7b28d4..ff1ddcaf140 100644
--- a/Lib/test/test_random.py
+++ b/Lib/test/test_random.py
@@ -719,7 +719,7 @@ class MersenneTwister_TestBasicOps(TestBasicOps, unittest.TestCase):
c = self.gen.choices(range(n), cum_weights=range(1, n+1), k=10000)
self.assertEqual(a, c)
- # Amerian Roulette
+ # American Roulette
population = ['Red', 'Black', 'Green']
weights = [18, 18, 2]
cum_weights = [18, 36, 38]
diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
index 4444e945952..5b53b8250f6 100644
--- a/Lib/test/test_ssl.py
+++ b/Lib/test/test_ssl.py
@@ -4332,7 +4332,7 @@ class TestPostHandshakeAuth(unittest.TestCase):
self.assertEqual(s.recv(1024), b'FALSE\n')
s.write(b'PHA')
self.assertEqual(s.recv(1024), b'OK\n')
- # optional doens't fail when client does not have a cert
+ # optional doesn't fail when client does not have a cert
s.write(b'HASCERT')
self.assertEqual(s.recv(1024), b'FALSE\n')
diff --git a/Lib/test/test_tools/test_i18n.py b/Lib/test/test_tools/test_i18n.py
index 8b2b90d6142..42e20f8f771 100644
--- a/Lib/test/test_tools/test_i18n.py
+++ b/Lib/test/test_tools/test_i18n.py
@@ -211,7 +211,7 @@ class Test_pygettext(unittest.TestCase):
self.assertIn('doc3', msgids)
def test_classdocstring_early_colon(self):
- """ Test docstring extraction for a class with colons occuring within
+ """ Test docstring extraction for a class with colons occurring within
the parentheses.
"""
msgids = self.extract_docstrings_from_str(dedent('''\
diff --git a/Lib/tokenize.py b/Lib/tokenize.py
index cf1ecc99a94..0f9d5dd554d 100644
--- a/Lib/tokenize.py
+++ b/Lib/tokenize.py
@@ -82,7 +82,7 @@ Number = group(Imagnumber, Floatnumber, Intnumber)
# Return the empty string, plus all of the valid string prefixes.
def _all_string_prefixes():
# The valid string prefixes. Only contain the lower case versions,
- # and don't contain any permuations (include 'fr', but not
+ # and don't contain any permutations (include 'fr', but not
# 'rf'). The various permutations will be generated.
_valid_string_prefixes = ['b', 'r', 'u', 'f', 'br', 'fr']
# if we add binary f-strings, add: ['fb', 'fbr']
diff --git a/Lib/turtle.py b/Lib/turtle.py
index 47a94f2a470..044d91cf6d8 100644
--- a/Lib/turtle.py
+++ b/Lib/turtle.py
@@ -1568,7 +1568,7 @@ class TNavigator(object):
fullcircle - a number
Set angle measurement units, i. e. set number
- of 'degrees' for a full circle. Dafault value is
+ of 'degrees' for a full circle. Default value is
360 degrees.
Example (for a Turtle instance named turtle):
diff --git a/Objects/object.c b/Objects/object.c
index 732f9ccefa8..cb727943cb3 100644
--- a/Objects/object.c
+++ b/Objects/object.c
@@ -2170,7 +2170,7 @@ _PyObject_AssertFailed(PyObject *obj, const char *expr, const char *msg,
fprintf(stderr, "\n", (void *)Py_TYPE(obj));
}
else {
- /* Diplay the traceback where the object has been allocated.
+ /* Display the traceback where the object has been allocated.
Do it before dumping repr(obj), since repr() is more likely
to crash than dumping the traceback. */
void *ptr;