0

私はPythonにかなり慣れていないので、この質問は状況にかなり固有のものかもしれません. IPython を使用して、物理シミュレーションのグラフを作成しています。

私が直面している問題は、同じコードを何度も再入力する必要のないプログラムを作成しようとしたときです。自分ですべてを入力しなくても、IPython でコマンドを実行するためのユーザー入力を取得しようとしています。

たとえば、私が使用している pynbody というプログラムがあります。私がやろうとしているのはそれを取得することです。そのため、ipython でテスト プログラムを開くと、ユーザーがインポートしたいものの入力を求めるプロンプトが表示されます。ただし、実行できない文字列としてしか取得できませんでした。

ユーザー入力を取得するための構文は何ですか?つまり、input= raw_input("What would you like to import? ")

IPython に入力しているコマンドであるかのように実行する、つまり import pynbody

プログラム、つまりtest.pyを作成し、その中にpynbodyをインポートすると、うまく機能します。これをユーザー入力から機能させるためのアイデアはありますか?

4

1 に答える 1

0

あなたがやろうとしていることを完全に理解しているかどうかはわかりませんが、試してみることができます

imported_module = __import__(<string>) または http://docs.python.org/2/library/functions.html#evaleval('python expression')を参照してください

さらに複雑な場合は、「ast」モジュール ( http://docs.python.org/2/library/ast.html )を参照してください。

しかし、初心者の場合、パッケージをインポートするようにユーザーに促したり、raw_input を使用して手動で式を入力したりすることは避けます。

于 2013-02-19T22:05:31.210 に答える