无法将文件read()转换为整数

时间:2015-03-27 23:47:22

标签: python

我有一个简单的文件,其中只包含一个整数。此整数是纪元时间戳值。

ts_f = open('latest_ts','r')
pattern = '%a %b %d %H:%M:%S NZDT %Y'
tmp = ts_f.read()


//Do some processing to update the timestamp value.

ts_f.close()

ts_f = open('latest_ts','w+')
ts_f.write(latest_ts_epoch)
ts_f.close()

由于这两个都是整数值而read返回一个字符串,我试图将tmp转换为整数int(tmp)。它不允许我将tmp转换为整数并给出错误 ValueError: invalid literal for int() with base 10:

1 个答案:

答案 0 :(得分:1)

请参阅下面的附加行,您的文件以需要首先解码的BOM开头。

ts_f = open('latest_ts','r')
pattern = '%a %b %d %H:%M:%S NZDT %Y'
tmp = ts_f.read()

tmp = tmp.decode("utf-8-sig")

ts_f.close()

ts_f = open('latest_ts','w+')
ts_f.write(latest_ts_epoch)
ts_f.close()