Pythonでは、標準出力ストリームは標準出力の組み込みのsysモジュールのファイルオブジェクトとして利用できますが、私は混乱しています:まず、sysモジュールを見つけられません私は他のモジュール(modulename.__file__
)を使っています。 secondond、私はstdoutファイルオブジェクトを見つける方法を知らない。Python stdoutファイルオブジェクトの場所はどこにありますか?
0
A
答えて
1
stdout
は、sys
モジュールで定義されています。 C実装を使用していると仮定して、ソースコード(3.6)をダウンロードし、Python/sysmodule.c
を調べてください。あなたが見ることができるように、それはstdio
Cランタイムライブラリから派生し
/* Set sys.stdout */
fd = fileno(stdout);
std = create_stdio(iomod, fd, 1, "<stdout>", encoding, errors);
if (std == NULL)
goto error;
PySys_SetObject("__stdout__", std);
_PySys_SetObjectId(&PyId_stdout, std);
Py_DECREF(std);
:しかし、stdout
自体が機能initstdio
でPython/pylifecycle.c
に定義されているPyId_stdout
から割り当てられます。また、__stdout__
が同時に作成されます。これは、再割り当てするとstdout
を回復するためのフォールバックとなります。
同じソースファイル内のcreate_stdio
ファンクションには、バッファリング、改行、エンコードなどの詳細情報も含まれています。
関連する問題
- 1. ユニットテストシルバーライトこの場所はどこにありますか?
- 2. Java 9のsrc.zipの場所はどこにありますか?
- 3. WordPressの保存場所タグはどこにありますか?
- 4. レールの設置場所はどこですか?レールプラグインはどこにありますか?
- 5. 端末から `python`を実行する場所と比較して` pip`インストールライブラリはどこにありますか?
- 6. .lower()をある場所に置くか別の場所に置くかの違いはありますか?
- 7. Configuration.ProxyCreationEnabled = false場所はありますか?
- 8. Pythonサブプロセス - stdout/errを2つの場所にリダイレクト
- 9. pythonチャットサーバーをホストする場所はどこですか?
- 10. このPython構文エラーはどこにありますか?
- 11. Eloquent - ピボットユーザーがいる場所またはどこにもありません
- 12. パッケージソースの場所はどこですか
- 13. Python:すべてのモジュールにデフォルトのインポートを置くことができる場所はありますか?
- 14. 私はどのようにファイルオブジェクト(ディスク上のファイルに場所の代わりに)を渡してPythonでffmpegを使用するのですか?
- 15. Bash:stderrとstdoutの場所を取得
- 16. Python 3.6.1はどこにありますかMacにあります
- 17. コトリンアクセスバッキングフィールドは他の場所にありますか?
- 18. SQLのどこの場所にある場合のケース
- 19. エリアのある場所にIPがありますか?
- 20. ログはどこにありますか?
- 21. ファクトリーパターンDDDにはどのような場所がありますか?
- 22. このPython関数はどのパッケージにありますか?
- 23. PythonのモジュールMySQLdbのManページはどこにありますか?
- 24. GIOのGSocketのPythonバインディングはどこにありますか?
- 25. py4csはどこにありますか?
- 26. このpythonコードのどこにエラーがありますか?
- 27. Pythonの標準ライブラリコードはどこにありますか?
- 28. python-interpreterのエラーコードはどこにありますか?
- 29. JavaやPythonのソースコードはどこにありますか?
- 30. memoized python関数のキャッシュはどこにありますか?
組み込み=>いいえ '__file__'属性です。 「標準出力オブジェクトを見つけることができません」とはどういう意味ですか?どの情報に必要ですか? –
@ Jean-FrançoisFabre「できない」とは、私がそれを見つける方法を知らないことを意味します。私はそれを見たいと思います。 – marco
'sys.stdout'です。何がもっと必要ですか? –