問題タブ [bytesio]

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

python - BytesIO オブジェクトから Tk ウィジェットに画像をロードする

BytesIO オブジェクトからキャンバスに画像をレンダリングしたいので、このコードを使用しています。

キャンバスとラベルで次のエラー メッセージが表示されました。

このコードを修正する方法、または BytesIO オブジェクトからキャンバスに画像をレンダリングする別の方法を知っていれば、それはすばらしいことです。ありがとう

0 投票する
0 に答える
367 参照

python - バイト文字列から画像を書き込む

cgi を使用してリモート サーバーからバイト文字列を取得しています。このバイト文字列は、「宛先」に保存された画像であると想定されています

このコードはサーバー部分にあり、python 2.6 を実行します。

次に、ローカル スクリプト (python 3) を使用して、サーバーからの応答を取得します。

そして、私は次のようなものを手に入れます:

文字通り。これは文字列です。先頭に b' があり、末尾に ' があります。

この画像をローカルに保存したいので、この文字列を BytesIO で使用できるものに変換したいと思います。

私が試してみると:

私は得る:

b' の部分をカットするなど、いろいろ試しましたが、うまくいきませんでした。何か考えはありますか?

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

python - ジェネレーターをバッファーにラップしますか?

ファイルの一部を生成する python ジェネレーター ( wsgi ) があり、それを従来のメソッドとメソッドapp_iterを持つことを期待するインターフェイスに渡す必要があります (別のものとして渡したい)。readreadlineswsgi.inputRequest

ジェネレーターのコンテンツ全体をメモリに具体化しない方法でそれを行うことは可能ですか? アイデアは、ジェネレーターをreadandを持つものreadline( BytesIOor などStringIO) でラップし、怠惰な方法で実行することです。

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

python - StringIO、cStringIO、および ByteIO についての混乱

これらのバッファモジュールの違いをグーグルで検索し、SOでも検索しました。しかし、私はまだよく理解していません。私が読んだ記事のいくつかは古くなっていると思います。

Python 2.7.11 では、特定の形式のバイナリ ファイルを を使用してダウンロードしましたr = requests.get(url)。次に、コンテンツを解析するために設計された関数にStringIO.StringIO(r.content), cStringIO.StringIO(r.content)andを渡しました。io.BytesIO(r.content)

これら 3 つの方法はすべて利用可能です。つまり、ファイルがバイナリであっても、StringIO. なんで?

もう1つのことは、それらの効率に関するものです。

上図のように、cStringIO > StringIO > BytesIO.

io.BytesIO常に新しいコピーを作成するため、より多くの時間がかかると誰かが言及しているのを見つけました。しかし、これが後の Python バージョンで修正されたという投稿もいくつかあります。

IOでは、最新の Python 2.x と 3.x の両方で、これらの s を完全に比較できる人はいますか?


私が見つけた参照の一部:

  • https://trac.edgewall.org/ticket/12046

    io.StringIO には Unicode 文字列が必要です。io.BytesIO にはバイト文字列が必要です。StringIO.StringIO は、Unicode またはバイト文字列のいずれかを許可します。cStringIO.StringIO には、バイト文字列としてエンコードされた文字列が必要です。

しかしcStringIO.StringIO('abc')、エラーは発生しません。

この投稿には 2014 年の修正パッチがあります。

  • ここにリストされていないSOの投稿がたくさんあります。

Eric の例の Python 2.7 の結果は次のとおりです。

2.7 に関しては、cStringIO.StringIOStringIO.StringIOは よりもはるかに効率的ですio

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

python - csv の io.BytesIO への書き込みが python3 で失敗する

文字列をcsvファイルオブジェクトに書き込むために、python 2/3互換コードを書き込もうとしています。このコード:

Python3 で次のエラーが発生します。

しかし、assert は型に問題がないのに、なぜcsvエラーが発生するのでしょうか。

BytesIOPython 2 と 3 の両方にしか使えないのですか? ここで問題はどこにありますか?

0 投票する
2 に答える
3239 参照

python - Python 3.5 BytesIO エラー

私はすべてpython 2.7でプロジェクトを作成していますが、ドキュメントがpython 3.5であるため、最終部分でいくつかのエラーが発生し始めました。だから私はすべてをpython 3.5に変更していますが、bytesIOが原因でエラーが発生しています。理由を理解するのを手伝ってもらえますか?どうすればよいですか? エラーは、string_dinamica.write('P3\n') のdef reprから発生しています。必要な場合に備えて、すべてのコードを残しました。助けてくれてありがとう。注: これが python 2.7 で機能することを確認するためですが、3.5 では機能しません。