python - 我正在尝试导入用户定义的函数,但出现此错误,我在此代码中做错了什么?
问题描述
我不明白我在这里做错了什么,我之前尝试过相同的代码,但当时它正在运行,但现在它给了我错误。这是我的代码 -
"""
Dummy Data (for tests / mocks)
In actual usage, this data should be loaded from an external source (CSV file, Excel file, Database, etc.)
"""
from ipynb.fs.defs.time_utils import parse_date, parse_time
from_date = parse_date('27-02-2021')
to_date = parse_date('06-03-2021')
from_time = parse_time('09:15:59')
to_time = parse_time('15:25:59')
test_time = parse_time('10:00:59')
multipler = 0.7
B_sl = 20 # Initial CE/PE stop loss in %
在这里我收到这个错误 -
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-3-25c262b73532> in <module>
4 """
5
----> 6 from ipynb.fs.defs.time_utils import parse_date, parse_time
7
8 from_date = parse_date('27-02-2021')
~\Global_trader\My Codes\Breakout Strategies\time_utils.ipynb in <module>
23 "\n",
24 "# Type Aliases\n",
---> 25 "Date = datetime.datetime.date\n",
26 "Time = datetime.datetime.time\n",
27 "\n",
NameError: name 'Date' is not definedd
我的 time_utils 文件代码是这样的 -
import datetime
import calendar
from typing import Iterator, Tuple
__all__ = [
'Date', 'Time',
'parse_date', 'parse_time',
'dmy', 'to_dmy',
'time_diff', 'date_range', 'weekday'
]
# Type Aliases
Date = datetime.date
Time = datetime.time
def weekday(date: Date) -> str:
"""Returns day of week"""
return calendar.day_name[date.weekday()]
def dmy(day: int, month: int, year: int) -> Date:
"""Shorthand for creating date using date / month / year"""
return Date(day=day, month=month, year=year)
def to_dmy(date: Date) -> Tuple[int, int, int]:
return date.day, date.month, date.year
def parse_date(date_str: str) -> Date:
return datetime.datetime.strptime(date_str, '%d-%m-%Y').date()
def parse_time(time_str: str) -> Time:
return datetime.datetime.strptime(time_str.strip(), '%H:%M:%S').time()
def time_diff(t1: Time, t2: Time) -> datetime.timedelta:
"""Difference between two times"""
d = Date(1,1,1) # some random date
return datetime.datetime.combine(d,t1) - datetime.datetime.combine(d,t2)
def date_range(from_date: Date, to_date: Date) -> Iterator[Date]:
"""Range of Dates between from_date and to_date, with 1-day intervals"""
days = (to_date - from_date).days + 1
return (from_date + datetime.timedelta(days=n) for n in range(days))
请帮助我,我在这里做错了什么。我为其他人尝试了相同的代码,但当时它运行了,但现在它没有运行。
解决方案
推荐阅读
- export - 出口状态更改日期 odoo 8
- android - Android Kotlin - 淡出活动并设置持续时间
- sql-server - 在日期类型列中插入 UTC 日期
- javascript - EventListeners 获取带有标签的类
- python - python pathos - 主进程运行速度非常慢,子进程串行运行
- javascript - 在 API 数据旁边加载和显示本地图像
- stanford-nlp - OpenIE 是否提取西班牙语中的关系?
- google-ads-api - 自动标记 Google 广告网址
- angular - 角度http拦截器响应标头
- vb.net - 我无法比较我的文件,因为无法复制我不需要的文件的错误。为什么?