これを説明する方法がわからない場合は、何か助けていただければ幸いです!Python file.write()は2回試行しますか?
Python 2.6.6 (r266:84292, Sep 15 2010, 16:22:56)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import urllib2, pynotify, tempfile, os
>>> opener = urllib2.build_opener()
>>> page = opener.open('http://img.youtube.com/vi/RLGJU_xUVTs/1.jpg')
>>> thumb = page.read()
>>> temp = tempfile.NamedTemporaryFile(suffix='.jpg')
>>> temp.write(thumb)
>>> os.path.getsize(temp.name)
0
>>> temp.write(thumb)
>>> os.path.getsize(temp.name)
4096
ありがとうございます!
ありがとうございます! flush()はそれを行っていますが、close()を呼び出すとファイルが削除されますが、私はb/cと仮定しています。 –
@aaronasterling:ええ、私は実際にはPythonで 'tempfile'オブジェクトの実装を知っていないので、もともと"多分 "と言っていましたが、もちろんポストされたコードはバッファの存在を示しています(そして、とにかくバッファーがなければ)。バッファーを洗い流すのが私に起こった最初のことでした(そして私はあなたの答えを見て、私の額を叩いて編集しました)。 +1あなたの答えBTW - 明らかに 'close'は一時ファイルを削除するので、この場合は正しい答えではありません:-) – Cameron