2016-11-23 81 views
0

rrule examples,我发现我能以这种方式导入rrule对象:如何导入dateutil.rrule模块在Python

from dateutil.rrule import * 
my_rrule = rrule(DAILY, count=5) 
print(list(my_rrule)) 

打印出预期的输出

[datetime.datetime(2016, 11, 23, 16, 55, 30), datetime.datetime(2016, 11, 24, 16, 55, 30), datetime.datetime(2016, 11, 25, 16, 55, 30), datetime.datetime(2016, 11, 26, 16, 55, 30), datetime.datetime(2016, 11, 27, 16, 55, 30)] 

但是,我喜欢保持对模块的引用,所以我试图导入并像这样使用它:

import dateutil.rrule 
my_rrule = dateutil.rrule.rrule(DAILY, count=5) 

然而,这导致NameError

Traceback (most recent call last): 
    File "/home/kurt/dev/scratch/Furion_scheduler/recurring_interval.py", line 18, in <module> 
    my_rrule = dateutil.rrule.rrule(DAILY, count=5) 
NameError: name 'DAILY' is not defined 

这是怎么回事错在这里?

回答

1

尝试from dateutil.rrule import rrule, DAILY

+2

它看起来像OP希望'从dateutil.rrule导入rrule,DAILY'。 –

+0

@BenHoyt你完全正确。谢谢:) – DeepSpace

+0

我明白了。实际上对应于数字“3”的DAILY在“dateutil.rrule”模块中定义(请参见[源代码](http://dateutil.readthedocs.io/en/stable/_modules/dateutil/ru/)的.html#RRULE))。 –