diff --git a/Tools/idle/AutoExpand.py b/Tools/idle/AutoExpand.py
index 09f34b3..40d39f3 100644
--- a/Tools/idle/AutoExpand.py
+++ b/Tools/idle/AutoExpand.py
@@ -21,7 +21,7 @@
          ]),
     ]
 
-    wordchars = string.letters + string.digits + "_"
+    wordchars = string.ascii_letters + string.digits + "_"
 
     def __init__(self, editwin):
         self.text = editwin.text
diff --git a/Tools/idle/UndoDelegator.py b/Tools/idle/UndoDelegator.py
index ec7af81..3ef14c3 100644
--- a/Tools/idle/UndoDelegator.py
+++ b/Tools/idle/UndoDelegator.py
@@ -251,7 +251,7 @@
         self.chars = self.chars + cmd.chars
         return 1
 
-    alphanumeric = string.letters + string.digits + "_"
+    alphanumeric = string.ascii_letters + string.digits + "_"
 
     def classify(self, c):
         if c in self.alphanumeric:
diff --git a/Tools/scripts/fixheader.py b/Tools/scripts/fixheader.py
index 9b65a44..ba2e0c5 100755
--- a/Tools/scripts/fixheader.py
+++ b/Tools/scripts/fixheader.py
@@ -29,7 +29,7 @@
     sys.stderr.write('Processing %s ...\n' % file)
     magic = 'Py_'
     for c in file:
-        if c in string.letters + string.digits:
+        if c in string.ascii_letters + string.digits:
             magic = magic + string.upper(c)
         else: magic = magic + '_'
     sys.stdout = f
diff --git a/Tools/scripts/texi2html.py b/Tools/scripts/texi2html.py
index dfe96db..f3e7fb3 100755
--- a/Tools/scripts/texi2html.py
+++ b/Tools/scripts/texi2html.py
@@ -422,7 +422,7 @@
                 # Cannot happen unless spprog is changed
                 raise RuntimeError, 'unexpected funny '+`c`
             start = i
-            while i < n and text[i] in string.letters: i = i+1
+            while i < n and text[i] in string.ascii_letters: i = i+1
             if i == start:
                 # @ plus non-letter: literal next character
                 i = i+1
@@ -1260,7 +1260,7 @@
         if self.itemindex: self.index(self.itemindex, args)
         if self.itemarg:
             if self.itemarg[0] == '@' and self.itemarg[1:2] and \
-                            self.itemarg[1] in string.letters:
+                            self.itemarg[1] in string.ascii_letters:
                 args = self.itemarg + '{' + args + '}'
             else:
                 # some other character, e.g. '-'
@@ -1524,7 +1524,7 @@
 
 
 # Characters that are perfectly safe in filenames and hyperlinks
-goodchars = string.letters + string.digits + '!@-=+.'
+goodchars = string.ascii_letters + string.digits + '!@-=+.'
 
 # Replace characters that aren't perfectly safe by dashes
 # Underscores are bad since Cern HTTPD treats them as delimiters for
