Message165631
| Author |
htgoebel |
| Recipients |
htgoebel |
| Date |
2012年07月16日.16:08:56 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1342454937.95.0.386630033182.issue15373@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
Wehn copying os.environ usinf copy.copy(), any manipulation on the copied object will change os.environment, too.
$ python
Python 2.7.3 (default, Apr 22 2012, 07:46:58)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import copy, os
>>> os.environ['TITI']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/UserDict.py", line 23, in __getitem__
raise KeyError(key)
KeyError: 'TITI'
>>> env = copy.copy(os.environ)
>>> env['TITI'] = 'in den Ferien'
>>> os.environ['TITI']
'in den Ferien'
>>>
Strictly speaking, this is correct, as the os.environment class is meant to manipulate the environment in the background. But user's expectation is different: he thinks, manipulating the copied object is save and does not effect the environment. |
|
History
|
|---|
| Date |
User |
Action |
Args |
| 2012年07月16日 16:08:58 | htgoebel | set | recipients:
+ htgoebel |
| 2012年07月16日 16:08:57 | htgoebel | set | messageid: <1342454937.95.0.386630033182.issue15373@psf.upfronthosting.co.za> |
| 2012年07月16日 16:08:57 | htgoebel | link | issue15373 messages |
| 2012年07月16日 16:08:56 | htgoebel | create |
|