ホームページ  >  に質問  >  本文

python2.7 - Python 2.7 stdout リダイレクトに関する質問

最初にコードを書く

リーリー

問題: コメントに書いたように、TestWriter.write() を呼び出したときに sys.stdout のリダイレクトされた出力が実装されていませんでしたが、その後の出力により、標準出力がファイル f オブジェクトにリダイレクトされたことがわかりました。
ブレークポイントを追跡すると、self.stream も f オブジェクトとして表示されます
疑問を解決しましょう! ! !

伊谢尔伦伊谢尔伦2712日前648

全員に返信(2)返信します

  • 巴扎黑

    巴扎黑2017-05-18 10:50:16

    リーリー

    Pythonが各関数を作成するとき、各パラメータはバインドされ、値が変更されてもデフォルト値はリロードされません

    リーリー

    ただし、バインディングパラメータのデフォルトパラメータがアドレスにバインドされている場合は異なりますが、アドレスは変更されませんが、内容は変更される可能性があります。

    リーリー

    返事
    0
  • 阿神

    阿神2017-05-18 10:50:16

    対照的に、Python では、実行は 1 つのファイルの先頭から始まり、ファイル内の各ステートメントを明確に定義された順序で進みます。...

    http://stackoverflow.com/ques...

    Python は各ステートメントを順番に解釈するため、TestWriter的构造器参数stdout はリダイレクトされません。

    上記はすべて私の推測です

    ================================================ === ====================

    リーリー

    実行結果

    返事
    0
  • キャンセル返事