問題タブ [pythoninterpreter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
247 参照

python - Python インタープリターが例外を報告するときに予期しない行が表示される

Python インタープリターがエラー/例外を報告すると (これからは、これらの両方を指すために「エラー」とだけ言います)、行番号とエラーの原因となった行の内容を出力します。

興味深いことに、エラーを引き起こし、スクリプトの実行中にファイルを変更する実行時間の長い Python スクリプトがある.py場合、インタープリターは、変更されたファイルの内容に基づいて、エラーを発生させたとして誤った行を報告でき.pyます。

MWE:

サンプル.py

このスクリプトは 10 秒間実行され、その後例外が発生します。

sample2.py

このファイルはsample.py、ループの終わりと行の間にジャンクがあり、次の例外が発生することを除いて、 と同じです。

私がしたこと

  1. python3 sample.py
  2. 2 番目のターミナル ウィンドウで、実行が終了mv sample.py sample.py.bak && cp sample2.py sample.pyする前にsample.py

予想される行動

インタープリターは次のように報告します。

ここで、インタープリターは の 7 行目に例外があったことを報告し、例外sample.pyを出力します。

実際の動作

インタープリターは次のように報告します。

ここで、インタープリター"""は例外を報告するときにも報告します。この情報を見つけるために、プログラムを実行するためにメモリにロードされたファイルではなく、ディスク上のファイルを調べているようです。

私の混乱の原因

以下は、実行時に何が起こるかについての私のメンタル モデルですpython3 sample.py

  1. インタプリタは の内容sample.pyをメモリにロードします
  2. インタプリタは字句解析、意味解析、コード生成などを実行してマシンコードを生成します
  3. 生成されたコードはCPUに送られ実行されます
  4. エラーが発生した場合、インタープリターはソース コードのメモリ内表現を参照してエラー メッセージを生成します。

明らかに、私のメンタル モデルには欠陥があります。

私が知りたいこと:

  1. Python インタープリターがメモリ内ではなく、ディスク上のファイルを参照してエラー メッセージを生成するのはなぜですか?
  2. 通訳者が何をしているのかについての私の理解に、他に何か欠陥がありますか?
0 投票する
3 に答える
3236 参照

python - Python PyQt5を使用してアプリケーション(ウィンドウ)のアクティブな画面(モニター)を特定するには?

多くのウィジェット (QGroupBox、QVBoxLayout、QHBoxLayout) を使用するアプリケーションに取り組んでいます。最初は、通常の HD モニターで開発されました。しかし、最近、私たちの多くは 4K 解像度のモニターにアップグレードしました。現在、一部のボタンとスライダーは非常に小さく圧縮されているため、使用できません。

ここで、アプリケーションを HD モニターと 4K モニターの両方で使用できるように、いくつかの変更を加えようとしました。

以下のリンクを読み始めました。

https://leomoon.com/journal/python/high-dpi-scaling-in-pyqt5/ここにリンクの説明を入力

特定のモニターでウィンドウが開かれるたびに、次のコードを呼び出すことができると思いました。

次に、関連する投稿hereを使用して、以下のコードを使用してモニターの解像度 (pixel_x および pixel_y) を取得しようとしました。

screen_width = 0, screen_height = 1私のプライマリモニターの解像度を教えてくれます(私たちの場合、ほとんどがラップトップで、HDです)。screen_width = 78, screen_height = 79仮想マシンの組み合わせ解像度を教えてくれます。しかし、アプリケーションを開いた場所に応じてこれらの値を動的に取得する方法がわかりません。

私のアプリケーション ウィンドウは、前回閉じた同じモニターで開くように開発されています。問題は、GUI が呼び出されるたびにアクティブなモニターの解像度を取得し、その解像度に適応することです。誰かが私を助けてくれたらうれしいです。

ウィンドウを HD モニターから 4K モニターに、またはその逆にドラッグするたびに、画面解像度の計算を呼び出すことができるかどうかを知りたいです。

編集: 私はこの投稿で似たようなものを見つけましたここにしかし、私はこれから多くを得ることができませんでした.

Edit2: @Joe ソリューションに基づいて、Primary Screen Detection、アプリケーションを 4K 画面で実行しているにもかかわらず、プライマリ画面が常にラップトップの解像度になるのはなぜですか? ここに画像の説明を入力

以下のコードを使用して、すべての画面の dpi を取得しようとしました。

0 投票する
1 に答える
147 参照

python - IOS アプリ PythonInterpreter で見つからないファイルを解決する

PythonInterpreter で FileNotFoundError を解決できません。.csv ファイルは、.py ファイルと同じフォルダーにあります。よろしくお願いいたします。これは私のコードです:

これは出力です:

トレースバック (最新の呼び出しが最後): ファイル "compiler.py"、13 行目、df 内 = pd.read_csv('A.csv') ファイル "/usr/local/lib/py/dist-packages/pandas/io/ parsers.py"、685 行目、parser_f return _read(filepath_or_buffer, kwds) ファイル "/usr/local/lib/py/dist-packages/pandas/io/parsers.py"、457 行目、_read parser = TextFileReader( fp_or_buf, **kwds) ファイル "/usr/local/lib/py/dist-packages/pandas/io/parsers.py"、895 行目、init self._make_engine(self.engine) ファイル "/usr/local/ lib/py/dist-packages/pandas/io/parsers.py"、1135 行目、_make_engine self._engine = CParserWrapper(self.f, **self.options) ファイル "/usr/local/lib/py/dist -packages/pandas/io/parsers.py"、1917 行目、init内 self._reader = parsers.TextReader(src, **kwds) ファイル「pandas/_libs/parsers.pyx」、382 行目、pandas._libs.parsers.TextReader 内。cinit ファイル「pandas/_libs/parsers.pyx」、行 689、pandas._libs.parsers.TextReader._setup_parser_source FileNotFoundError: [Errno 2] ファイル b'A.csv' は存在しません: b'A.csv'

0 投票する
4 に答える
4304 参照

django - ModuleNotFoundError: 名前の付いたモジュールがありません: Crispy_forms


私はchrispy_forms をインポートできますが、それを実行python3 manage.py runserver
すると、chrispy_forms という名前のモジュールがないと表示されます。その理由はわかりませんpip3 list通訳者の設定を添付します。通訳者の設定画像
の助けが必要です

端末のエラーメッセージ