首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在jupyter-notebook/python交互模式下使用gettext?

如何在jupyter-notebook/python交互模式下使用gettext?
EN

Stack Overflow用户
提问于 2017-11-16 01:18:49
回答 1查看 137关注 0票数 0

我使用从this question获得的以下代码从他们的俄罗斯名字中获取国家代码。

代码语言:javascript
复制
def get_country_code(russian_name):
    gettext.translation('iso3166', pycountry.LOCALES_DIR, languages=['RU']).install()
    country_code = ''.join([country.alpha_2 for country in pycountry.countries if _(country.name) == russian_name])
    return country_code

但是当我尝试在我的jupyter-notebook中使用这个函数时,它给出了以下错误:

代码语言:javascript
复制
TypeError: 'str' object is not callable

这似乎是因为在jupyter中以及在交互模式下-意味着前一次计算的结果,但gettext将其定义为其函数。

如何在Jupyter中执行此代码?

EN

回答 1

Stack Overflow用户

发布于 2017-11-16 01:48:03

我已经找到了这个问题的解决方案。install()函数像这样设置variable _ in内置函数:

代码语言:javascript
复制
builtins.__dict__['_'] = self.gettext

所以我们可以使用这个函数。

代码语言:javascript
复制
def get_country_code(russian_name):
    rus = gettext.translation('iso3166', pycountry.LOCALES_DIR, languages=['RU'])
    rus.install()
    country_code = ''.join([country.alpha_2 for country in pycountry.countries if rus.gettext(country.name) == russian_name]) # u'FR'
    return country_code
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47313585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档