Python将字符串添加到一起

时间:2017-07-03 19:43:58

标签: python string datetime

我正在尝试构建folloiwng行,它是假期包中的对象:

holidays.DE()

我想将其拆分为以下内容:

假期 .DE()作为参数。作为字符串它不起作用尝试它并收到以下错误消息:

HOLIDAYS_German =假期+选项类型错误:+:'模块'和'str'

不支持的操作数类型

我该如何解决?

代码如下所示:

import datetime as dt
import holidays

def BDCTest(date1,date2,Option):

    HOLIDAYS_German = holiday+Option

    for i in range((date2 - date1).days + 1):
        nextday = date1 + dt.timedelta(days=i)
        if nextday not in HOLIDAYS_German:
            print(nextday.strftime('%d-%m-%y'))

if __name__ == '__main__':

    date1 = dt.datetime.strptime('22-12-16', '%d-%m-%y')
    date2 = dt.datetime.strptime('22-12-17', '%d-%m-%y')
    Option = '.DE'

    Test = BDCTest(date1,date2, Option)

1 个答案:

答案 0 :(得分:2)

将两个字符串放在一起并不会使Python执行这些字符串。

使用getattr() function完成动态属性访问; DE只是holidays模块上的一个属性,恰好可以调用:

Option = 'DE'
HOLIDAYS_German = getattr(holiday, Option)()

因此getattr()检索DE对象(模块)的holiday属性,并调用结果。请注意,Option .开头!