酷代码 AI
菜单
服务商

Python 实现就业数据排序与查询:避开文件、编码及退出处理陷阱

以下是使用 Python 实现上述功能的代码: ```python # 读取就业数据文件 def read_data(file_path): data = [] try: with open(file_path, 'r', encoding='utf-8') as file: # 逐行读取文件内容 for line in file: # 按逗号分割每行内容 parts = line.strip().split(',') if len(parts) == 2: province = parts[0] # 将人数转换为整数 num = int(parts[1]) data.append((province, num)) except FileNotFoundError: print(f"文件 {file_path} 未找到。") return data # 降序排序数据 def sort_data(data): # 使用 Python 内置的 sorted 函数进行排序,按照人数降序排列 return sorted(data, key=lambda x: x[1], reverse=True) # 显示排序后的数据并写入文件 def display_and_write(data, output_file): print("排序后的数据:") with open(output_file, 'w', encoding='utf-8') as file: for province, num in data: # 打印省市名称和人数 print(f"{province}: {num}") # 将省市名称和人数写入文件 file.write(f"{province},{num}\n") # 查询省市的就业人数 def query_data(data): while True: province = input("请输入要查询的省市名称(输入 '退出' 结束查询):") if province == '退出': break found = False for p, num in data: if p == province: print(f"{province} 的就业人数为:{num}") found = True break if not found: print("查询不成功") # 主函数 def main(): input_file = "employ-data.txt" output_file = "employ-sort.txt" # 读取数据 data = read_data(input_file) if data: # 排序数据 sorted_data = sort_data(data) # 显示并写入排序后的数据 display_and_write(sorted_data, output_file) # 进行查询操作 query_data(sorted_data) if __name__ == "__main__": main() ``` 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: 1. 确保“employ-data.txt”文件存在,并且文件内容格式正确,每行应为“省市名称,就业人数”的形式。 2. 在读取文件时,要注意文件的编码格式,避免出现乱码问题。 3. 在查询操作中,要处理好用户输入“退出”的情况,确保程序能正常结束。 ######[AI写代码神器 | 642点数解答 | 2025-12-01 00:11:55]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]