来自文件的Python 3 read()不适用于1个字节的文件

时间:2014-03-05 11:04:23

标签: python file

我正试图从这样的文件中读取一个简单的值:

import pdb
import string

def getOrderID():
    f = open( 'testid.txt', 'w+')
    tmp = f.read()
    print( 'tmp: ', tmp, len(tmp) )
    if tmp.isdigit():
        newid = int(newid) + 1
    else:
        newid = 1

    print( 'Newid: ', newid )

    f.seek(0)
    f.write(str(newid))
    f.close()

    return newid

print( getOrderID() )

tmp始终为空字符串,大小为0

newid总是1.为什么?

1 个答案:

答案 0 :(得分:3)

w+模式的说明:打开以供阅读和书写。如果文件不存在,则创建该文件,否则将被截断。流位于文件的开头。

这就是字符串为空且newid为1的原因。