問題タブ [console-output]

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 に答える
381 参照

python - contextlib.redirect_stdout() 内で、print() 関数が AttributeError: 'str' object has no attribute 'write' を引き起こします

この投稿のアドバイスに従って、Python コードの特定の部分のコンソール出力全体をテキストファイルにリダイレクトしようとしました。

その投稿によると、contextlib.redirect_stdout() で動作するはずですが、カスタム関数 custom_function_with_internal_print_calls() 内に最初の print() コマンドが表示されると、 AttributeError: 'str' object has no attribute 'write' がスローされます。

編集: 私の特定のケースでは、with-environment 内の print() 関数の代わりに、Python の組み込み print() 関数への内部呼び出しを持つカスタム関数があります。print() 関数が別の関数内に表示されるか、エラーを再現するために最上位に直接表示されるかは問題ではありません。

すでに試したオプション: 他の回避策では、探している解決策が得られないようです。

print() 関数の再定義または

Python 2.7x 用のデコレータを作成する(私は Python 3.7x を使用しているため)、または

を介してprint()関数をファイルオブジェクトにリダイレクトしますprint('Filename:', filename, file=f)。後者は、私の場合、選択した囲まれた関数内のすべてのサブ関数にファイルハンドラーを渡すことを意味します。これは、この特別なケースでは余分なコード変更が多すぎます。

この関数のすべてのコンソール出力をdummy_filewith contextlib.redirect_stdout(dummy_file):にリダイレクトするために、関数にラップされた環境だけを使用できるようにしたいと考えています。

contextlib.redirect_stdout()のドキュメントも役に立ちません。提案をお寄せいただきありがとうございます。

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

c++ - 数値から Unicode 文字を取得するにはどうすればよいですか?

私はC ++を初めて使用するので、これが明らかな場合は申し訳ありません。

数字から文字を取得するにはどうすればよいですか? 次のコードがあります。

Unicode 辞書の最初の 500 文字を取得することになっています。私はjavascriptでそれがString.fromCodePoint(i). C++に相当するものは何ですか?