pycharm による対話的なシェルデバッグ
質問
PyCharm初心者です。IDLEを長い間使っています。
IDLEでスクリプトを実行した後にPythonオブジェクトを利用できるのは非常に便利です。PyCharmを使って対話型Pythonシェルでスクリプト実行後にオブジェクトを使用する方法はありますか?
例えば、'test'プロジェクトに'test.py'というファイルを1つ持っているとします。
a = '123'
print a
を実行した後、結果を得ることができます。
123
Process finished with exit code 0
対話型シェルで文字列 'a' を使用するにはどうしたらよいですか?
8年ぶりに追加しました。私の pycharm チュートリアルはロシア語です。 https://youtu.be/-RzKJlLXw54
どのように解決するのですか?
現在のデバッグセッションのための組み込みの python シェル
- コード内の関心のある行にブレークポイントを設定し (すなわち、ガッターをクリックします)、デバッグを開始します (エディター内で右クリックし、 を選択します)。 デバッグ myfile.py... ).
- ブレークポイントに到達すると デバッグ > コンソール タブをクリックし コマンドラインを表示する アイコンを表示します (スクリーンショットを参照)。
これはpythonシェルを有効にします(緑色の
>>>
が表示されます)、そこで現在のスコープ内のすべての変数にアクセスでき、通常Pythonシェルで行うすべてのことを行うことができます。
最近のpycharmのバージョンでは、(ipythonがインストールされていれば)普通のPythonシェルの代わりにipythonインタプリタが利用できます。
この 式を評価する ウィンドウ
より快適な方法として、スコープ内のオブジェクトでいくつかの変数の検査、メンバーへのアクセス、またはメソッドの呼び出しのみが必要な場合、ブレークポイントに到達したら、現在のスコープで式を選択し、右クリック -> 式を評価する (の下にあるメニューに表示されるホットキーを使用します。 実行 → 式を評価する... と入力し、必要に応じて編集してください。 任意の python式、自動補完あり)と入力し を入力します。 (または 評価する ) を使って結果を検査します。
複数行、複数行の式をサポートしています。 コードフラグメントモード をクリックするか、エディタで複数行のコードを選択し、式を評価します。既存の変数に値を代入したり (新しい変数は定義できません)、コードの塊全体を実行したりすることができます。
マウスで変数にカーソルを合わせる
デバッグモードでブレークポイントを押した後に変数の値を見るには、マウスポインタを変数の上に置くと (1~2秒)、値がツールチップに表示されます。
ヒントには ➕ アイコンが表示され、それをクリックするとインスペクタがポップアップで表示されます。
スコープ内の変数については、インスペクタが下のパネルに表示されます。 デバッグ > に表示されます。 デバッガ .
以下の通りです。
pandas
データフレームには
データフレームとして表示
のリンクを変数インスペクタパネルまたはホバーポップアップに表示し、そのリンクをクリックすると
データフレームがデータビューパネルにテーブルとして表示されます。
.
更新
最近のPycharmのバージョン(2019+)では、インタプリタのアイコンの見た目が変わりました。
また、unittest/pytest のデバッグ UI では、アイコンはアイコンバーで最初に配置されます。
関連
-
[解決済み】PyCharmの未解決参照問題
-
[解決済み] pipでPythonの全パッケージをアップグレードする方法
-
[解決済み] シェルコマンドの実行と出力のキャプチャ
-
[解決済み] Pythonの対話型セッションを保存する方法は?
-
[解決済み】Pythonシェルで矢印キーを押すとエスケープ文字が表示される件
-
[解決済み] pandasのDataFrameから空のセルを含む行を削除する
-
[解決済み] Pythonでコード行間にかかる時間を測定するには?
-
[解決済み] Pythonの文字列書式をリストで使う
-
[解決済み] virtualenvsはどこに作成するのですか?
-
[解決済み] PythonのRequestsモジュールを使ってWebサイトに "ログイン "するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Pythonのマルチプロセッシングプールimap_unorderedの呼び出しの進捗を表示しますか?
-
[解決済み] Flaskで1時間ごとに関数を実行するようにスケジュールするには?
-
[解決済み] googletransがエラー 'NoneType' オブジェクトに 'group' 属性がない、と言って動かなくなった。
-
[解決済み] なぜ(0-6)は-6=偽なのか?重複
-
[解決済み] データフレームをソートした後にインデックスを更新する
-
[解決済み] pandasのタイムゾーンに対応したDateTimeIndexを、特定のタイムゾーンに対応したナイーブなタイムスタンプに変換する。
-
[解決済み] Django で全てのリクエストヘッダを取得するにはどうすれば良いですか?
-
[解決済み] matplotlib でプロットの軸、目盛、ラベルの色を変更する方法
-
[解決済み] Pandasを使って、既存のExcelファイルに新しいシートを保存する方法は?
-
[解決済み] Pythonでファイルの読み込みと上書きをする