2017-06-15 125 views
2

我如何在Python 3中使用os.environ如何在Python 3中使用os.environ?

>>> import os, pickle 
>>> pickle.dumps(os.environ) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
AttributeError: Can't pickle local object '_createenviron.<locals>.decode' 

在Python 2

+0

考虑os.environ'是如何'应该链接到该程序的环境变量的实际状态,无论如何,解开其中的一个可能不是一个好主意。你可以轻松地腌制和解开'dict(os.environ)'。 – user2357112

+3

如何将它转换为字典? 'pickle.dumps(dict(os.environ))' – falsetru

回答

4

上述作品你可以这样做:

import os, pickle 

pickle.dumps(str(os.environ)) 
pickle.dumps(dict(os.environ)) # this also works 
+0

而不取代os.environ - 更新它:'os.environ.update(pickle.loads(data))'。 – phd