HTML-PDF Webサービスを使用してWindowsでPDFを生成しようとしています(Python 2.x
)。このリンクPython 2.x - Write binary output to stdout?は、私がstdoutに書き出している場合、バイナリファイルを変更する必要があると言います。このプログラムが実行さPython 2.xでmsvcrtを使用するとIOErrorが発生するのはなぜですか?
def generate_pdf():
pdf = callservice(html)
if pdf is not None and sys.platform == "win32":
import os, msvcrt
msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
return pdf
def process():
pdf = generate_pdf()
# This comes as IOError Errno 12 not enough space
E:\
ドライブが利用可能な10ギガバイトを持っています。誰でも何が起こっているのか知っていますか? C:\
ドライブにも10 GBの空き容量があります。ソースコードmsvcrt
を調べて、何が起きているのかを確認する必要があります。私はそれを確認しようとしています。
「E:」ドライブまたは「C:」ドライブのファイルにリダイレクトされたstdoutにPDFを書き込んでいますか? – eryksun
sys.stdout.fileno()はちょうど1です、私はこのスクリプトをシェルからpython file.pyとして実行しますが、それはあなたの質問に答えますか? – Nishant
stdoutをディスクファイルにリダイレクトしていない場合は、バイナリモードに変更する必要はありません。 – eryksun