python tempfile模块用不了_Python tempfile:坏了还是我做错了?
對于一個小python腳本,我希望使用tempfile模塊的臨時文件。不知何故,它沒有給出預期的行為,我不知道我做錯了什么,或者這是一個bug:Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import tempfile
>>> tmp = tempfile.TemporaryFile()
>>> tmp.read()
''
>>> tmp.write('test')
>>> tmp.read()
'P\xf6D\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ [ommitted]'
或者,我只嘗試使用文本模式,但行為仍然很奇怪:
^{pr2}$
感謝任何幫助!在
其他信息:在Windows7Enterprisex64計算機上運行的當前PythonXY發行版中的Python2.7.2(32位)。在一個測試運行中,python在D:\temp\myusername下的臨時目錄中創建了臨時文件名“tmpvyocxj”,其他幾個python進程正在運行。輸入的命令,我沒有嘗試在腳本中復制它。在沒有其他python進程運行的情況下,行為沒有改變。在
更新:
這種行為不僅限于tempfile模塊,也適用于普通的文件.read()和文件.寫入()操作。根據CPython的說法,這兩個函數都只調用底層libc fread()例程。在C標準中,沒有seek或flush中間的read-after-write的確切行為是未定義的,即每個實現都可能導致不同的結果。在
總結
以上是生活随笔為你收集整理的python tempfile模块用不了_Python tempfile:坏了还是我做错了?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小米快传怎么用 小米快传图文使用教程
- 下一篇: python爬取的信息条数比页面显示多_