copy/deepcopy and variable scope
<p>I'm having problems using copy.copy() and copy.deepcopy() and Python's scope.  I call a function and a dictionary is passed as an argument.  The dictionary copies a local dictionary but the dictionary does not retain the values that were copied.</p>

<pre><code>def foo (A, B):
    localDict = {}
    localDict['name'] = "Simon"
    localDict['age'] = 55
    localDict['timestamp'] = "2011-05-13 15:13:22"
    localDict['phone'] = {'work':'555-123-1234', 'home':'555-771-2190', 'mobile':'213-601-9100'}

    A = copy.deepcopy(localDict)

    B['me'] = 'John Doe'
    return



def qua (A, B):
    print "qua(A): ", A
    print "qua(B): ", B

    return


# *** MAIN ***
# 
# Test
#
A = {}
B = {}

print "initial A: ", A
print "initial B: ", B

foo (A, B)

print "after foo(A): ", A
print "after foo(B): ", B

qua (A, B)
</code></pre>

<p>The copy.deepcopy works and within function "foo", dict A has the contents of localDict.  But outside the scope of "foo", dict A is empty.  Meanwhile, after being assigned a key and value, dict B retains the value after coming out of function 'foo'.  </p>

<p>How do I maintain the values that copy.deepcopy() copies outside of function "foo"?</p>
