2011-06-23 5 views
2

ここで、aという名前のモジュールにhelloという名前の関数があり、その他のさまざまな関数があるとします。こんにちは、他のシンボルと一緒にお別れとしてインポートすることは可能ですか?しかし私はそれが有効ではありません、このような何かを考えています:関数としてのみインポートし、残りをそのままインポートできますか?

from a import hello as goodbye,* 
+0

'from a import *'は**ほとんどの**ケースでは悪い考えです。現在の名前空間を完全に汚染します。 –

答えて

7

あなたが望む新しい名前をバインドし、前を削除し、その後、からインポートすることができます。何かのように

名前空間の汚染のため、通常、スターインポートはあまり良くありません。

2
from a import * 
from a import hello as goodbye 
+1

これは 'hello'を' hello'としてもアクセス可能にしていませんか? – Geo

+1

実際、2回目のインポートは、私たちがすでにインポートしているので、実際には単に「hello = goodbye」になる可能性があります。 –

+1

@geo:それはあなたが得るものです...星の輸入は、一般的に悪い考えです。だから、これを求めて-1を得るかもしれません:) –

1

次の2行は私のために正常に動作:

from core.commonActions import click_on_toolbar_tool, wait_toolbar_tool_enabled as x 
from core.commonActions import wait_toolbar_tool_enabled as x, click_on_toolbar_tool 

ORあなたが使用できるすべての関数をインポートする必要がある場合:

from core.commonActions import * 
from core.commonActions import wait_toolbar_tool_enabled as x 

OR:

from core.commonActions import * 
x = wait_toolbar_tool_enabled 

、あなたは単に、より利用可能ではないとハローたい場合:

from core.commonActions import * 
x = wait_toolbar_tool_enabled 
wait_toolbar_tool_enabled = None # or del wait_toolbar_tool_enabled 
+0

しかしこれで問題は解決しません。 OPの例では、モジュールからのすべてのシンボルがインポートされ、そのうちの1つだけが名前が変更されます。 –

+0

編集してすべてをインポートし、名前を変更します –

+0

これは元の名前にアクセス可能なままです。 @Francescoは正しく動作するソリューションを提案しています。 –

1
from a import * 
goodbye = hello 
del hello 

これを行う別の方法ですか。

関連する問題