問題タブ [sys]
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.
python - *.pyc の続きを削除
この質問のフォローアップとして、新しい質問があります。
os.remove(module_name)
との内部で何が起こっていdel sys.modules["module_name"]
ますか?
python - Pythonのsys.pathはどこから初期化されていますか?
Pythonのsys.pathはどこから初期化されていますか?
UPD : Python は PYTHONPATH を参照する前にいくつかのパスを追加しています:
私の PYTHONPATH は次のとおりです。
PYTHONPATH のパスより前のパスはどこから来るのだろうか?
python-3.x - What does sys.intern() do and when should it be used?
I came across this question about memory management of dictionaries, which mentions the intern function. What exactly does it do, and when would it be used?
To give an example: if I have a set called seen, that contains tuples in the form (string1,string2), which I use to check for duplicates, would storing (intern(string1),intern(string2)) improve performance w.r.t. memory or speed?
python - Python:スレッドから呼び出された `sys.exit(msg)`が` msg`をstderrに出力しないのはなぜですか?
sys.exit()
今日、私は子スレッドから呼び出されてもメインプロセスを強制終了しないという事実に反対しました。これまで知らなかったし、大丈夫ですが、気付くまでに長い時間がかかりました。に印刷したとしたら、かなりの時間を節約できたでしょう。しかし、そうではありませんでした。sys.exit(msg)
msg
stderr
それは私のアプリケーションの本当のバグではないことが判明しました。それsys.exit(msg)
は意欲的な方法で意味のあるエラーで呼び出されました-しかし私はこれを見ることができませんでした。
そのためのドキュメントにsys.exit()
は、
「[...]他のオブジェクトが出力されsys.stderr
、終了コードが1になる」と記載されています。
これは、明らかに次
のように動作する子スレッドからの呼び出しには当てはまりません。「SystemExit例外を発生させます。キャッチされない場合、スレッドはサイレントに終了します。 」sys.exit()
thread.exit()
sys.exit(msg)
プログラマーがエラーメッセージを出力したい場合は、呼び出された場所に関係なく、これを出力するだけでよいと思います。なぜだめですか?現在、理由はわかりません。少なくともsys.exit()
、メッセージがスレッドから出力されないというヒントがドキュメントにあるはずです。
どう思いますか?エラーメッセージがスレッドから隠されているのはなぜですか?これは意味がありますか?
よろしくお願いします、
Jan-Philip Gehrcke
python - Python でモジュールを動的にインポートするために __import__() を取得できません - sys.modules に表示されない原因はわかっています
小さなスクリプトを書きました。使用可能なすべてのモジュール (インストールされているかどうかに関係なく) を python ディレクトリで検索するように設計されており、現在ロードされているモジュールを確認し、選択したモジュールを動的にロードするオプションを提供します。後者__import__()
は、文字列を渡すために使用します-(これは私が問題を抱えている場所です-しかし、すぐに戻ります)...次に、すべてのクラスのモジュールを「参照」するオプションを提供します、関数など ( dir([module name])
~を使用)。
問題:
モジュールが動的に読み込まれると (try/except
ステートメントに埋め込まれます)、成功すると「モジュールが読み込まれました」と報告され、失敗すると...当然...「読み込みに失敗しました...」と報告されます。
モジュールの名前、たとえば「uu」という名前のモジュールを入力すると、「ロード済み」と表示されます。だから私はそれがロードされていることを知っています-しかし、戻ってLOADEDモジュールのすべてをチェックする関数を呼び出すと、空白です(を使用sys.modules
)
私は、Pythonがモジュールを一時的な場所にロードしていると考えています。これはsys.modules
、スクリプトを終了してそこにないことを確認するsys.modules
ためではありません。
python - PyErr_Print()に相当するPython
PyErr_Print()
CインターフェースからのPythonAPIに相当するものは何ですか?
sys
、またはモジュールのいずれかで呼び出しを想定していますが、traceback
を呼び出す関数が見つかりませんPyErr_Print()
。
補遺
私はPythonを呼び出して、と同じ機能を取得した後、次のPyErr_PrintEx()
ように説明します。
つまり、この効果を持つPython呼び出しを行いたいのです。
python - 「setprofile」がこれを印刷する理由
印刷する
なぜこれを印刷します。
python - unittestモジュールがスクリプト内にある場合のsys.argv[1]の問題
sys.argvを使用してさまざまなことを実行し、パラメーターにアクセスするスクリプトがありますが、スクリプトがコードの単体テスト部分に到達すると、このためのモジュールがないと表示されます。私が持っているスクリプトは次のとおりです。
./script.py Hello
コマンドラインに入力するとします。私が得るエラーは次のとおりです。
unittestモジュールを削除すると、機能します。また、テストランナーログを削除して、次の場所に残しておくと、次のようになります。
これはまだ機能しません。
誰でも助けることができます。
ありがとう
私はこのハックを試しましたが、それでもを読み込もうとしますsys.argv
。
私はこれを試してみましたargv
が、それでも余分なパラメータを読み取るのは面倒です。
python - なぜこれがこのPythonプログラムの出力なのですか?
#pythonの誰かが、モジュール「herpaderp」を検索し、検索対象としてリストされているすべてのモジュールを検索することを提案しました。この場合、ImportErrorを発生させる前に、システム上のすべてのモジュールを一覧表示しないのはなぜですか?誰かがここで何が起こっているのかを明らかにすることができますか?
出力: