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

Python将含空格首都的国家列表文件转字典出现报错如何解决?

问题根因

你当前代码使用无参数的split()方法,会默认按所有连续空白字符分割整行内容,遇到包含空格的首都名称时,一行会被分割为3个及以上的元素,无法直接解包为key, value两个变量,因此抛出值错误。

解决方案

修改分割逻辑,为split()方法添加maxsplit=1参数,限制最多只分割1次,这样第一个分割出来的元素是国家名,剩余所有内容(包括带空格的首都名)都会作为第二个元素,同时去掉行尾的换行符即可。

优化后完整代码

countries_dict = {}
# 使用with上下文管理器自动管理文件句柄,避免资源泄漏
with open("countrieslist.txt", "r", encoding="utf-8") as countries_file:
    for line in countries_file:
        # 先去除首尾空白(包括换行符),再最多分割1次
        key, value = line.strip().split(maxsplit=1)
        countries_dict[key] = value

print(countries_dict)

输出结果

运行后将得到你需要的字典格式:

{'Afghanistan': 'Kabul', 'Albania': 'Tirana', 'Algeria': 'Algiers', 'Andorra': 'Andorra la Vella'}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 06:00:04