Use string methods.  Re-organize imports to Python Normal Form.
diff --git a/Doc/tools/sgmlconv/esis2sgml.py b/Doc/tools/sgmlconv/esis2sgml.py
index 458a074..b6f9a44 100755
--- a/Doc/tools/sgmlconv/esis2sgml.py
+++ b/Doc/tools/sgmlconv/esis2sgml.py
@@ -10,13 +10,14 @@
 # generated from an SGML or an XML application.
 
 import errno
-import esistools
 import os
 import re
 import string
 
 from xml.sax.saxutils import escape
 
+import esistools
+
 
 AUTOCLOSE = ()
 
@@ -63,7 +64,7 @@
                 append('%s="%s"' % (name, escape(value)))
     if parts:
         parts.insert(0, '')
-    return string.join(parts)
+    return " ".join(parts)
 
 
 _nmtoken_rx = re.compile("[a-z][-._a-z0-9]*$", re.IGNORECASE)
@@ -171,7 +172,7 @@
     fp = open(EMPTIES_FILENAME, "w")
     gilist = d.keys()
     gilist.sort()
-    fp.write(string.join(gilist, "\n"))
+    fp.write("\n".join(gilist))
     fp.write("\n")
     fp.close()