datetime - Python pimping / monkey-patching -
i want simple thing: monkey-patch datetime
. can't exactly, since datetime
c class.
so wrote following code:
datetime import datetime _datetime class datetime(_datetime): def withtimeatmidnight(self): return self.replace(hour=0, minute=0, second=0, microsecond=0)
this on file called datetime.py inside package called pimp.
from error message i'm given:
traceback (most recent call last): file "run.py", line 1, in pimp.datetime import datetime file "/home/lg/src/project/library/pimp/datetime/datetime.py", line 1, in datetime import datetime _datetime importerror: cannot import name datetime
i assume can't have module called datetime
importing module called datetime
.
how should proceed keep module , class named datetime
?
put module package e.g., your_lib.datetime
. should not use datetime
name top-level module.
if on python 2 add @ top:
from __future__ import absolute_import
to forbid implicit relative imports inside package. if directory structure is:
your_lib/ ├── datetime.py └── __init__.py
the following command works:
$ python -c 'import your_lib.datetime'
where datetime.py
is:
from __future__ import absolute_import datetime import timedelta
Comments
Post a Comment