gpt4 book ai didi

python - 属性错误 : 'str' object has no attribute 'n' when using dateutil

转载 作者:太空宇宙 更新时间:2023-11-04 01:36:32 25 4
gpt4 key购买 nike

我正在使用 dateutil rrule 函数 .. 我从 Django 中的数据模型中获取工作日。当我把它放在像这样的 rrule 函数中时

for x in lgs:
teams = Team.objects.filter(league=x.id)
teamcount = len(teams)
playdays = "rrule." + str(x.play_days)
fixdays = rrule.rrule(rrule.DAILY,byweekday = (playdays),dtstart=startdate,until=endate)
print list(fixdays)

Traceback (most recent call last):
File "<console>", line 5, in <module>
File "/usr/lib/pymodules/python2.7/dateutil/rrule.py", line 345, in __init__
elif not wday.n or freq > MONTHLY:
AttributeError: 'str' object has no attribute 'n'

如果我正常使用该功能,将第5行替换为

    fixdays = rrule.rrule(rrule.DAILY,byweekday = (rrule.SU, rrule.MO),dtstart=startdate,until=endate)

我没问题。可能出了什么问题。

最佳答案

(rrule.SU, rrule.MO)

dateutil.rrule.weekday 对象的列表(元组),而

"rrule." + str(x.play_days)

是一个字符串(没有.n属性)。

你可以定义一个字典:

weekday = {'MO': rrule.MO, 'TU': rrule.TU, … }

然后调用它:

playdays = weekday[str(x.play_days)]

另外,请记住

byweekday = (playdays)

相同
byweekday = playdays

如果要从单个元素定义元组,请添加逗号:

byweekday = (playdays,)

关于python - 属性错误 : 'str' object has no attribute 'n' when using dateutil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9210117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com