76

私はPyCharmが初めてです。私は長い間 IDLE を使用してきました。

IDLE でのスクリプト実行後に Python オブジェクトを使用すると非常に便利です。PyCharmを使用してインタラクティブなPythonシェルで実行した後にスクリプトオブジェクトを使用する方法はありますか?

たとえば、1 つのファイル「test.py」を含む「test」プロジェクトがあります。

a = '123'
print a

実行後、結果を取得できます。

123
Process finished with exit code 0

対話型シェルで文字列 'a' を使用するにはどうすればよいですか?

8年ぶりに追加。ロシア語の私の pycharm チュートリアル: https://youtu.be/-RzKJlLXw54

4

9 に答える 9

118

現在のデバッグ セッション用の組み込みの Python シェル

  1. コード内の目的の行にブレークポイントを設定し (ガターをクリックして)、デバッグを起動します (エディターで右クリックし、 [ Debug myfile.py... ] を選択します)。
  2. ブレークポイントに到達したら、 [デバッグ] > [コンソール] タブを見つけて、[コマンド ラインの表示] アイコンをクリックします (スクリーンショットを参照)。

これにより、現在のスコープ内のすべての変数にアクセスできる Python シェル (スクリーンショットの緑色>>>に注目) が有効になり、Python シェルで通常行うすべての操作を実行できます。

最近の pycharm バージョンでは、プレーンな python シェルの代わりに完全な ipython インタープリターを取得します (ipython がインストールされている場合)。

デバッグされたアプリの Python シェルを有効にする

式の評価ウィンドウ

より快適な代替手段として、いくつかの変数を調べたり、メンバーにアクセスしたり、スコープ内のオブジェクトのメソッドを呼び出したりするだけでよい場合は、ブレークポイントに到達したら、現在のスコープ内の式を選択し、右クリック ->式の評価(または使用) Run→の下のメニューに表示されるホットキーEvaluate Expression...)、必要に応じて編集 —オートコンプリートを使用して任意のpython 式を入力できます — 次にEnterを押して(またはEvaluateをクリックして) 結果を調べます。

複数行の式がサポートされています。検査ダイアログの複数行バージョンを取得するには、コード フラグメント モードをクリックするか、エディターで複数行のコードを選択して式を評価します。既存の変数に値を割り当て (新しい変数は定義できません)、コードのチャンク全体を実行できます。 現在のスコープ内の変数を調べる

変数の上にマウスを置く

デバッグ モードでブレークポイントに到達した後に変数の値を確認するには、マウス ポインターを変数の上に移動します (1 ~ 2 秒)。値がツールヒントに表示されます。

ここに画像の説明を入力

ヒントには➕</kbd> icon — clicking it will open the inspector in a popup.

ここに画像の説明を入力

スコープ内の変数については、下部パネルのDebug > Debuggerの下にインスペクターが表示されます。

pandasデータ フレームの場合、変数インスペクタ パネルまたはホバー ポップアップに [データ フレームとして表示] リンクが表示されます。このリンクをクリックすると、データフレームが [データ ビュー] パネルにテーブルとして表示されます。

アップデート

最近の Pycharm バージョン (2019+) では、インタープリター アイコンの外観が異なります。

pycharm インタープリター アイコン

また、unittest/pytest デバッグ UI では、アイコンはアイコン バーの最初に配置されます。

于 2014-04-06T13:34:20.253 に答える
20

Piga-fetta、Games Brainiac、および kobejohn からの以前の回答は役に立ちましたが、満足のいくものではありませんでした。そこで、ここで 3 番目のオプションを提供します。

選択したコードをコンソールにロードする(私の提案)

Shift+ Alt+を使用Eして、選択したコードまたはカーソルが置かれている行をコンソールにロードし、すぐに実行します。これにはいくつかの欠点もあります。

  • ファイル全体を実行する必要がある場合は、ファイル全体を選択する必要があります。
  • エラーが発生しても、コードは実行され続けます。

しかしその見返りとして、(私の意見では) IDLE よりも優れた機能を得ることができます: 一度に 1 つの選択でコードを実行できることです。

ここでそれについて読んでください

ブレークポイントと Evaluate Expression ( Alt- F8)の使用(Piga-fetta が推奨)

これは、コード内の特定の場所でデバッグする必要がある大きなアプリケーションでは非常に便利ですが、インタラクティブなコーディングではあまり役に立ちません。したがって、これは私たちが望んでいるものではありません。

ツールの使用 --> Python コンソールの実行(Games Brainiac と kobejohn が推奨)

これは私たちが望んでいることですが、実行したいモジュールがプロジェクトのルートディレクトリにない場合は特に、少し面倒です。

于 2013-12-15T14:10:28.203 に答える
11

PyCharm 2 と PyCharm 3 の両方で Python コンソールを簡単に使用できます。また、プロジェクトのルートが既に .xml ファイルに追加されているため、簡単にインポートできますPYTHONPATH

それでは、いくつかのスクリーンショットを使ってデモンストレーションしましょう。

1.console.pyルートディレクトリにファイルを作成

ここに画像の説明を入力

2. PyCharm 内で Python コンソールを開く

ここに画像の説明を入力

console.py3.ファイルから変数をインポートする

ここに画像の説明を入力

これで、変数が正常にインポートされました。

于 2013-10-13T13:56:59.247 に答える
11

実行後、コマンドラインを開いたままにする

まだこの問題が発生している場合: [実行/デバッグ] メニューに移動し、[構成の編集] を選択し、[コマンド ラインを表示] チェックボックスをオンにすると、>>> プロンプトでコンソールにパラメーターを入力して、関数をテストできます。

現在のファイルのみの設定を変更する

グローバル構成

この変更をすべての .py ファイルに適用するには (このチェック ボックスは作業中の現在のファイルにのみ適用されるため)、[Edit configuration] に移動し、左側にメニュー ツリーが表示されるポップアップで、[Defaults] を選択します。 、次にPython、次に[コマンドラインを表示]ボックスをオンにします。これにより、.pyファイルを開くたびにデフォルト設定になります(この機能はデフォルトでオンになっているはずです!)

すべての Python ファイルの設定を変更する

于 2015-04-02T16:45:12.267 に答える
6

私は最良の答えを見つけました: 実行後のプログラムとの対話

以下の回答を引用します。

++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++

python --help の出力から:

-i : スクリプトの実行後にインタラクティブに検査します。stdin が端末のように見えなくてもプロンプトを強制します。また、PYTHONINSPECT=x

PyCharm でインタープリター オプションを設定するには、実行 | 構成の編集に移動します。

++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++

私はそれを試してみましたが、うまくいきます - 「インタープリターオプション」として「-i」(引用符なし)を使用するだけです。実行/デバッグ構成のデフォルトのみを変更した場合、以前に実行したスクリプトにはすぐには反映されない可能性があることに注意してください。これらのスクリプトの構成を 1 つずつ編集する必要があります。

于 2014-03-17T14:36:11.010 に答える
4

Not mentioned above:

If you want to use a variable during execution, e.g. to when you set a breakpoint and then experiment with calling functions on objects in current scope, PyCharm has an 'Evaluate Expression (Alt-F8)' popup window.

In this window, you can call functions and see the output. Code completion also works. This window also has a "code fragment mode", I am just researching what it means - can you define temporary functions here?.

(I am using PyCharm 3.0.1 Community Edition)

于 2013-11-05T02:19:39.850 に答える
0

さらに別の方法として、Spyder がスクリプトを「インタラクティブに」実行するために使用するのと同じコマンドを単純に使用することもできます。

>>> runfile('myscript.py')

その後、対話型コンソールの変数エクスプローラーを開き、上記のコマンドを再度実行してスクリプトを再実行できます。Spyder ワークフローに非常に似ています。上記の他のすべての方法では、インタラクティブなコンソール プロンプトが表示されますが、変数エクスプローラーを開くオプションは表示されないため、そのような機能を探している場合は、上記を試してください。

于 2016-03-25T12:00:44.467 に答える