3

我正在尝试在 python 中为许多国家/地区查找带有假期包的假期日期,但是,而不是像这样一一编写:

import holidays
for date in holidays.UnitedKingdom(years=2011).items():
    print(str(date[0]))

for date in holidays.Argentina(years=2011).items():
    print(str(date[0]))

我正在尝试使用这样的功能来做到这一点:

for i in dir(holidays):
    for j in range(2010,2016):
        holidays.i(years=2011).keys()

我知道循环每个国家的名称都是一个字符串,但我想将它实现为循环,如果您有任何建议或建议,请与我分享。谢谢你。

4

1 回答 1

2

首先:pip show holidays 然后将位置复制到locationVariable

import holidays
import os
locationVariable = ""
countries = [name.split(".py")[0].replace("_"," ") for name in os.listdir(locationVariable+"holidays/countries/") if name.endswith(".py") and  not name.startswith("__")]

print("List of countries are : " + str(len(countries)))

for i in countries:
    for j in range(2010,2021):
        try:
            print(getattr(holidays,i.title().replace(" ",""))(years=j).keys())
        except:
            print("unable to iterate "+i.title().replace(" ",""))
            break

似乎名称的格式不一致(for Hongkong),请使用。

如果有帮助,请确保标记已回答。

于 2020-02-20T11:06:26.623 回答