0

クラス名、属性、メソッドなどを完成させるために変更したいオートコンプリート スクリプトがあります。Python で実行するre.co<TAB>と、一致するメソッドのリストが表示されます。re.py問題は、ファイルを解析したくないということです。私はしたい:

import re

次にdir(re)、メソッドのリストを取得します。しかし、どのように??? 私は試した:

imp_obj = exec('import re')

そして、それはで働くことを拒否しましたif_py! 2 + 2動作しますが..

4

1 に答える 1

0

これを行う最善の方法は、次のように組み込み__import__関数を使用してモジュールをインポートすることです。

imp_obj = __import__('re')

importによって返される値を返さないため、コードはおそらく機能しませんexec('import re')

一般に、exec実行したくない任意のコードを実行する可能性が高くなるため、ユーザーによるテキスト入力に対して使用することはお勧めできません。

于 2012-11-28T08:01:07.927 に答える