我试图创建一个读取文件的脚本,查找今天和昨天的日期,然后打印这两个日期之间的所有内容。但是每当我尝试运行它时,我都会在最后一行得到一个字符缓冲区对象。
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])
答案 0 :(得分:1)
start
和end
是整数而不是字符串...你不能在整数上拆分字符串
"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)
start
和end
是int
,无法作为参数传递给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中查看日期格式。