2017-02-19 4 views
1

私はpythonとPyCharmの新機能です。次のコードは、数学パッケージの関数をリスト、Pythonのコンソールで動作します:同じスニペットは、エディタ・ウィンドウと実行に表示されている場合、pythonコンソールとエディタコンソールの動作が異なります

import importlib 
st = 'math' 
importlib.import_module(st) 
dir(eval(st)) 

ただし、以下のメッセージが表示さ:

Traceback (most recent call last): 
    File "C:/Users/sywan/PycharmProjects/test/test.py", line 4, in <module> 
    dir(eval(st)) 
    File "<string>", line 1, in <module> 
NameError: name 'math' is not defined 

あなた答えは非常に高く評価されています!

+0

としてdir方法を適用することは、Python 2とのpython3コンソールの両方で 'NameError'をスローします。 – gzc

答えて

1

This so answer explains what does eval do

evalコードとして文字列を解釈します。あなたのケースでは、evalを '数学'を数学に変換し、mathという名前の変数を検索します。

import importlib 
st = 'math' 
dir_path = importlib.import_module(st) 
dir(dir_path) 

、数学モジュール内の関数を見つける変数にモジュールパスを保存してimportlib.import_module(st)リターン番目のディレクトリパス

+0

よろしくお願いします。 –

+0

@ Shu-Yenもしそれがあなたを助けるならば、答えをアップアップしてください。 – sid

関連する問題