TypeError: 'str' object is not callable (Python) <p><strong>Code:</strong></p> <pre><code>import urllib2 as u import os as o inn = 'dword.txt' w = open(inn) z = w.readline() b = w.readline() c = w.readline() x = w.readline() m = w.readline() def Dict(Let, Mod): global str inn = 'dword.txt' den = 'definitions.txt' print 'reading definitions...' dell =open(den, 'w') print 'getting source code...' f = u.urlopen('http://dictionary.reference.com/browse/' + Let) a = f.read(800) print 'writing source code to file...' f = open("dic1.txt", "w") f.write(a) f.close() j = open('defs.txt', 'w') print 'finding definition is source code' for line in open("dic1.txt"): if '&lt;meta name="description" content=' in line: j.write(line) j.close() te = open('defs.txt', 'r').read().split() sto = open('remove.txt', 'r').read().split() print 'skimming down the definition...' mar = [] for t in te: if t.lower() in sto: mar.append('') else: mar.append(t) print mar str = str(mar) str = ''.join([ c for c in str if c not in (",", "'", '[', ']', '')]) defin = open(den, Mod) defin.write(str) defin.write(' ') defin.close() print 'cleaning up...' o.system('del dic1.txt') o.system('del defs.txt') Dict(z, 'w') Dict(b, 'a') Dict(c, 'a') Dict(x, 'a') Dict(m, 'a') print 'all of the definitions are in definitions.txt' </code></pre> <p>The first <code>Dict(z, 'w')</code> works and then the second time around it comes up with an error:</p> <pre><code>Traceback (most recent call last): File "C:\Users\test.py", line 64, in &lt;module&gt; Dict(b, 'a') File "C:\Users\test.py", line 52, in Dict str = str(mar) TypeError: 'str' object is not callable </code></pre> <p>Does anyone know why this is?</p> <p>@Greg Hewgill: </p> <p>I've already tried that and I get the error:</p> <pre><code>Traceback (most recent call last): File "C:\Users\test.py", line 63, in &lt;module&gt; Dict(z, 'w') File "C:\Users\test.py", line 53, in Dict strr = ''.join([ c for c in str if c not in (",", "'", '[', ']', '')]) TypeError: 'type' object is not iterable </code></pre>