簡體   English   中英

Python需要一個字符緩沖區對象

[英]Python expected a character buffer object

我試圖制作一個腳本來讀取文件,找到今天和昨天的日期,然后打印這兩個日期之間的所有內容。 但是,每當我嘗試運行此命令時,都會在最后一行看到一個字符緩沖區對象。

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])

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])

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中的日期格式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM