2016-02-17 92 views
1

說我有一個包含以下內容的配置文件config.py:克隆或複製蟒蛇進口

a = 1 

現在在另一個文件中我做的:

import config 
x = config 
x.a = 2 

現在,如果你print x.a你會得到2,但如果你print config.a,你也將得到2,因爲xconfig是相同的指針。

有沒有辦法克隆或複製到X配置,以便我將有一個獨立的實例x的配置字段?我知道類,但我試圖在這裏避免他們。我也嘗試過使用python的copy模塊,在這裏不起作用。

+0

你爲什麼想要避免上課? – Forge

+0

它更容易讓最終用戶更新配置文件,但是如果我可以找到這個簡單的解決方案 –

+0

,我可能會去python configparser你不應該創建模塊的實例,這是類的用途。 – Forge

回答

0

是的。 Python的copy模塊正是你在這裏需要的。改變你的代碼看起來像這樣:

import copy 
import config 
x = copy.copy(config) 
x.a = 2 
config.a = 3 

現在xconfig會改變彼此獨立。

+0

你有沒有試過這個。我使用python 2.7.something,它不起作用。 AttributeError:'NoneType'對象沒有屬性'update' –