脚本中的 Python 错误,但在 jupyter notebook : TypeError: 'module' object is not callable 中有效

标签 python debugging error-handling calendar

运行在变量 h 中创建假期列表的脚本时出现以下错误。我首先在 jupyter notebook 上运行脚本,它运行良好,没有错误,但是当我将它作为脚本运行时,它不起作用。

我看了几个posts解决这个问题,但我指定了我在脚本中导入的内容,所以不确定为什么它仍然不起作用。

错误

Traceback (most recent call last):
  File "\\user\config\workspace\ExcelProjects\src\root\nested\scrap.py", line 53, in <module>
h = USBankHolidayCal.holidays(datetime(2016, 1, 1), datetime(2016, 12, 31))
TypeError: 'module' object is not callable  

代码
from pandas.tseries.holiday import Holiday, AbstractHolidayCalendar, nearest_workday, MO, USFederalHolidayCalendar
from pandas.tseries.offsets import DateOffset, CDay
UKdays = []


class UKHoliday(AbstractHolidayCalendar):
rules = [
    Holiday('Boxing Day', month=12, day=26, year=2016,observance=nearest_workday),
    Holiday('Christmas Day', month=12, day=27, year=2016,observance=nearest_workday),
    Holiday('New Years Day', month=1, day=2, observance=nearest_workday),
    Holiday('Good Friday', month=4, day=14, observance=nearest_workday),
    Holiday('Easter Monday', month=4, day=17, observance=nearest_workday),
    Holiday('Early May', month=5, day=1, observance=nearest_workday),
    Holiday('Spring Bank', month=5, day=29, observance=nearest_workday),
    Holiday('Summer Bank', month=8, day=28, observance=nearest_workday),
    Holiday('Christmas Day', month=12, day=25, observance=nearest_workday),
    Holiday('Boxing Day', month=12, day=26, observance=nearest_workday),
]
UKBankHolidayCal = UKHoliday()
h = UKBankHolidayCal.holidays(datetime(2016, 1, 1), datetime(2016, 12, 31))
for x in h:
    UKdays.append(x.date())

非常感谢任何帮助!

最佳答案

如果你这样做:

import datetime
datetime(2016, 1, 1)

你得到
TypeError: 'module' object is not callable

但如果你这样做
from datetime import datetime
datetime(2016, 1, 1)

有用。

所以问题在于您导入的方式datetime .您必须在您的情况下使用第二个版本,或者您将模块与对象混合在一起,它们具有相同的名称。

关于脚本中的 Python 错误,但在 jupyter notebook : TypeError: 'module' object is not callable 中有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41268897/

相关文章:

ajax - 在Promise对象返回完成后调用的$ .ajax statusCode处理程序

python - 在 pygtk 中调用 XQueryKeymap() 函数?

c++ - 在 Visual Studio、C++ 中调试时设置默认线程

debugging - ARM Data Abort错误异常调试

cakephp - 从 AppExceptionHandler 渲染 View

php - PHP替代方法,用于处理格式错误的输入,而不是引发错误

python - .join() 在 python 中给出返回列表

python - 描述符和直接访问: Python reference

python - 如何更改此代码,使其跳过周末但从星期二开始

visual-studio - Blazor WebAssembly Visual Studio 调试器问题