You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Python3模块提取特定属性?以pycountries模块为例

提取pycountries中国家的特定属性

嘿,我能帮你搞定这个问题!你现在看到的输出是Country类的实例对象,这是因为你直接打印了整个对象,而没有访问它的具体属性。pycountries里的每个countries元素都是封装好的对象,自带了各种可用的属性,咱们直接调用就行。

解决方法:直接遍历并访问属性

你不需要用range(len(countries))来循环,直接遍历countries这个可迭代对象就行,然后通过.来访问你需要的属性:

from pycountry import countries

# 打印所有国家的常用名称
for country in countries:
    print(country.name)

常用属性列表

Country对象提供了很多实用属性,你可以根据需求选择:

  • country.name:国家的常用名称(比如"Angola")
  • country.alpha_2:两位字母的国家代码(比如"AO")
  • country.alpha_3:三位字母的国家代码(比如"AGO")
  • country.numeric:数字形式的国家代码(比如"024")
  • country.official_name:国家的官方全称(比如"Republic of Angola")

示例:同时提取多个属性

如果想一次性输出多个信息,比如名称加两位代码,可以这么写:

from pycountry import countries

for country in countries:
    print(f"{country.name} - 代码:{country.alpha_2}")

怎么查看所有可用属性?

你之前用dir()的思路是对的,只要拿一个具体的Country对象来查看就行:

from pycountry import countries

# 取第一个国家对象
first_country = next(iter(countries))
# 打印所有属性和方法
print(dir(first_country))

输出里那些不带下划线(_)的基本就是可以直接访问的公开属性啦。

内容的提问来源于stack exchange,提问作者HunterForce

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:00:19