私はPyCharmが初めてです。私は長い間IDLEを使用しています。
IDLEでスクリプトを実行した後にPythonオブジェクトを使用すると非常に便利です。 PyCharmを使用してインタラクティブpythonシェルで実行した後にスクリプトオブジェクトを使用する方法はありますか?
たとえば、「test.py」という1つのファイルを持つ「test」プロジェクトがあります。
a = '123'
print a
実行後、結果を取得できます。
123
Process finished with exit code 0
対話型シェルで文字列「a」を使用するにはどうすればよいですか?
これにより、python Shell(緑色の>>>
は、現在のスコープ内のすべての変数にアクセスでき、通常はPython Shellで行います。
最近のpycharmバージョンでは、プレーンpython Shell(ipythonがインストールされている場合)ではなく、完全なipythonインタープリターを取得します。
より快適な代替方法として、一部の変数の検査、スコープ内のオブジェクトのメンバーへのアクセス、またはメソッドの呼び出しのみが必要な場合、ブレークポイントに到達したら、現在のスコープ内の式を選択し、右クリック-> Expressionを評価します(または、メニューの下に表示されるホットキーを使用します Run → Evaluate Expression...)、必要に応じて編集します—anypython expression、auto-completion available with)を入力して、を押しますEnter(またはEvaluate)をクリックして結果を検査します。
複数行および複数行の式がサポートされています:Inspectダイアログの複数行バージョンを取得するには、Code fragment modeをクリックするか、エディターで複数行のコードを選択してから式を評価します。既存の変数に値を割り当て(新しい変数を定義することはできません)、コードのチャンク全体を実行できます。
デバッグモードでブレークポイントをヒットした後に変数の値を表示するには、マウスポインターを変数の上に置いて(1〜2秒)、値がツールチップに表示されます。
ヒントには ➕ アイコン—クリックすると、インスペクターがポップアップで開きます。
スコープ内の変数の場合、インスペクターは下部パネルのDebug>Debuggerの下に表示されます。
pandas
データフレームの場合、変数インスペクターにView as DataFrameリンクが表示されますパネルまたはホバーポップアップ-リンクをクリックすると、 データビューパネルのデータフレームとして表 が表示されます。
Piga-fetta、Games Brainiac、kobejohnからの以前の回答を見つけました有用ですが、満足できないそこで、ここで3番目のオプションを提供します。
選択したコードをコンソールにロードする(私の提案)
つかいます Shift + Alt + E 選択したコードまたはカーソルが置かれている行をコンソールにロードして、すぐに実行します。これにはいくつかの欠点もあります。
しかしその見返りに、IDLEよりも優れた機能が得られます(私の意見では)。一度に1つの選択だけでコードを実行できます。
それについて読む こちら 。
ブレークポイントの使用と式の評価(Alt-F8)(ピガフェッタが提案)
これは、コード内の特定の場所でデバッグする必要がある大きなアプリケーションでは非常に便利ですが、インタラクティブなコーディングにはあまり役立ちません。したがって、これは私たちが望むものではありません。
ツールの使用->実行Python Console(Games Brainiacとkobejohnが推奨)
これは私たちが望んでいることですが、特に実行したいモジュールがプロジェクトのルートディレクトリにない場合は少し面倒です。
Python ConsoleをPyCharm 2とPyCharm 3の両方で使用できます。プロジェクトルートが既にPYTHONPATH
に追加されているので、簡単にインポートできます。
そのため、スクリーンショットをいくつか示します。
console.py
ファイルを作成するconsole.py
ファイルから変数をインポートするそして、変数が正常にインポートされました。
私は最良の答えを見つけました: 実行後のプログラムとの対話
以下の答えを引用:
++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++
python --help:の出力から
-i:スクリプトの実行後に対話的に検査します。 stdinが端末ではない場合でも、プロンプトを強制します。 PYTHONINSPECT = xも
PyCharmでインタープリターオプションを設定するには、[実行|構成の編集]に移動します
++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++
私はそれを試してみましたが、動作します-単に「-i」(引用符なし)を「インタープリターオプション」として使用します。 [実行/デバッグ構成]の[デフォルト]のみを変更した場合、以前に実行したスクリプトにはすぐに反映されない場合があることに注意してください。これらのスクリプトの構成を1つずつ編集する必要があります。
上記には言及していません:
実行中に変数を使用する場合ブレークポイントを設定し、現在のスコープ内のオブジェクトで関数を呼び出して実験すると、PyCharmには「式の評価(Alt-F8)」ポップアップウィンドウがあります。
このウィンドウでは、関数を呼び出して出力を確認できます。コード補完も機能します。このウィンドウには「コードフラグメントモード」もあり、それが何を意味するのかを調査中です。ここで一時的な関数を定義できますか。
(私はPyCharm 3.0.1 Community Editionを使用しています)
*更新
あなたの更新から、私は this SO question が 少なくとも1つの完璧な答え を提供すると思います。
ここに、私がリンクした回答よりも少しずつ、それを書きましょう。
import myscript
_(.pyなし)(短い名前が必要な場合は、_import myscript as m
_を使用しますif __== '__main__'
_ブロックがある場合、main()
を実行する必要があるかもしれません)a
は_myscript.a
_で利用可能ですmyscript = reload(myscript)
を使用してスクリプトを再度実行します*元の
PyCharm 3.0では、次のことができます。
それはあなたが探しているものですか?そうでない場合は、試してみて、それがあなたが望むものとどのように異なるかを教えてください。
Ramkins's answer での提案に加えて、ファイル内を右クリックしてRun File in Console
を選択すると、コンソールで直接ファイルを実行できます。
さらに別の方法は、Spyderがスクリプトを「インタラクティブに」実行するために使用するのと同じコマンドを単に使用することです。
>>> runfile('myscript.py')
その後、対話型コンソールの変数エクスプローラーを開き、上記のコマンドを再度実行してスクリプトを再実行できます。 Spyderワークフローに非常によく似ています。上記の他のすべての方法では、対話型コンソールプロンプトが表示されますが、変数エクスプローラーを開くオプションは表示されません。そのような機能を探している場合は、上記を試してください。