如何通过首字母在TXT文件中查找国家名称并修复Python代码报错
错误修复方案:AttributeError: 'str' object has no attribute 'startwith'
错误原因
这是拼写错误导致的:Python字符串用于判断前缀的方法是startswith(),你写成了startwith()(少了一个s)。
修复后的完整代码示例
# 打开国家数据文件(请替换为你的实际文件路径) with open('countries.txt', 'r', encoding='utf-8') as file: # 获取用户输入并统一转为大写(避免大小写不匹配) input_char = input("请输入一个字母:").strip().upper() # 逐行处理文件内容 for line in file: cleaned_line = line.strip() # 跳过空行 if not cleaned_line: continue # 分割行数据,提取国家名称 country_name = cleaned_line.split(',')[0].strip() # 使用正确的startswith方法判断前缀 if country_name.upper().startswith(input_char): print(country_name)
额外优化说明
- 大小写统一:把用户输入和国家名称都转为大写(或小写),确保输入小写字母也能匹配到大写开头的国家。
- 空行处理:跳过文件中的空行,避免分割空字符串导致的异常。
- 文件路径:如果你的国家数据文件不在脚本同一目录下,要填写完整的文件路径,比如
C:/data/countries.txt。
内容的提问来源于stack exchange,提问作者Emma Cheney
相关产品推荐
相关产品推荐

