Python期望一个字符缓冲对象

时间:2016-03-24 22:31:28

标签: python

我试图创建一个读取文件的脚本,查找今天和昨天的日期,然后打印这两个日期之间的所有内容。但是每当我尝试运行它时,我都会在最后一行得到一个字符缓冲区对象。

import datetime
import re
today = datetime.date.today().day
yesterday = (today - 1)
file=open("test.txt","r")
s = file.read()
start = today
end = yesterday

print((s.split(start))[1].split(end)[0])

2 个答案:

答案 0 :(得分:1)

startend是整数而不是字符串...你不能在整数上拆分字符串

"some5string".split(5) # wont work it needs a string
"some5string".split("5") # will work

将其更改为

print((s.split(str(start)))[1].split(str(end))[0])

答案 1 :(得分:0)

startendint,无法作为参数传递给split

>>> "234".split(3)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: expected a character buffer object

您可以将它们转换为字符串,但我认为这还不够。只需使用日期的day字段,就可以得到一个数字,而不是完整的日期:

>>> datetime.date.today().day
25

这可能不足以解析数据。在Python中查看日期格式。