2012-12-18 59 views
0

我正在閱讀python代碼並遇到類似這樣的代碼。在python中重命名模塊中的子模塊

import mod1 as m 

# ... 

do_something(m.sub_a) #1 

然而,在msub_a丟失,但sub_aa存在。如何更改代碼,將sub_a重命名爲sub_aa而不更改#1中的代碼?像,

import mod1 as m 

import mod1.sub_aa as mod1.sub_a # do something like this 

do_something(m.sub_a) 

p.s.由於sub_a已被用於許多文件,並且mod1不建議修改,我不得不寫一些包裝來做到這一點。

回答

3

import mod1.sub_aa as mod1.sub_a是一個語法錯誤,因爲您只能在as的右側有一個簡單的名稱,而不是模塊中的名稱。

您可以使用分配給模塊裏面,而不是創建一個新的名字:

m.sub_a = m.sub_aa 
+0

對於一個陌生的一種時尚,這個答案似乎是比我好。 +1 – NlightNFotis

+0

如果'sub_aa'是一個模塊,它也可以工作嗎?對不起,我現在沒有python提示符來測試它。 – Xiaolong

+0

@曉龍:是的。如果你可以作爲'm.sub_aa'訪問模塊,那麼這將允許你以'm.sub_a'的方式訪問它。 – interjay