Python 不支持%s的操作数类型

Python 不支持%s的操作数类型,python,module,int,Python,Module,Int,从答案中选取,你可以使用该软件包 还请注意的用法,因为它们更像是pythonic。我不明白您想做什么。并非所有月份都有30天。如果您只使用datetimes以一种自包含的方式执行此操作,而不是尝试通过(IIUC)进行除法,则会更容易。请提供完整的错误消息,以及。错误消息是自解释的days是一个timedelta对象,对这样的对象执行整数模运算是没有意义的。(我有点惊讶整数除法能起作用。)你到底想做什么?如果你想知道timedelta中的天数,请使用.days属性:left\u days=days

从答案中选取,你可以使用该软件包


还请注意的用法,因为它们更像是pythonic。

我不明白您想做什么。并非所有月份都有30天。如果您只使用datetimes以一种自包含的方式执行此操作,而不是尝试通过(IIUC)进行除法,则会更容易。请提供完整的错误消息,以及。错误消息是自解释的
days
是一个
timedelta
对象,对这样的对象执行整数模运算是没有意义的。(我有点惊讶整数除法能起作用。)你到底想做什么?如果你想知道timedelta中的天数,请使用
.days
属性:
left\u days=days.days%30
我想计算一个特定日期的计数器,该日期表示还剩多少个月和几天@约翰戈登
today = date.today()                       
expire_date = date(today.year, 6, 7)       

days = expire_date - today
left_months = days // 30            
left_days = days % 30  
'''
Error in this line : unsupported operand type(s) for %: 
                                    'datetime.timedelta' and 'int'
'''  
print('{} Months'.format(left_months), '{} Days'.format(left_days) + " until exhibition day")
from dateutil.relativedelta import relativedelta
from datetime import date

today = date.today()
expire_date = date(today.year, 6, 7)

rdelta = relativedelta(expire_date, today)

print(f'{rdelta.months} months {rdelta.days} days until exhibition day')