我有一个简单的文件,其中只包含一个整数。此整数是纪元时间戳值。
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:
答案 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()