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

Python实现文件偶数提取写入新文件并按空格分隔输出

代码修改方案

原代码存在两个核心问题:

  • 读取的数字是字符串类型,直接执行number % 2 == 0会触发类型错误;
  • 循环写入时每次追加空格,会导致输出文件末尾多出一个空格,不符合首尾无空格的要求。

修改后的代码如下:

def write_even_to_file(filename):
    with open(filename, 'r') as original, open('xxx.txt', 'w') as even_file:
        # 筛选所有偶数的字符串形式
        even_numbers = [num_str for num_str in original.read().split() if int(num_str) % 2 == 0]
        # 用空格连接后一次性写入,自动避免首尾空格
        even_file.write(' '.join(even_numbers))

关键修改点说明:

  1. 类型转换修正:将读取到的字符串数字转为整数判断奇偶,保留原字符串用于最终输出;
  2. 输出格式优化:先收集所有符合条件的偶数,再用' '.join()方法拼接,确保元素间仅用单个空格分隔,且首尾无多余空格;
  3. 文件模式调整:将追加模式'a'改为覆盖模式'w',避免多次运行时重复写入内容;
  4. 细节修正:修正原代码中orginal的拼写错误,调整变量名提升可读性。

运行该代码后,针对给定的输入文件,xxx.txt中的内容会是12 6 20 10,完全符合需求。

内容的提问来源于stack exchange,提问作者quadingle the 2nd

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 01:31:35