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

如何用Python读取文件中的数字并拼接为指定格式的列表?

问题描述

现有文件内容如下:

1
2
3
4
O
5
6
7
8

需求是读取文件中的数字,拼接后生成格式为[12345678]的结果。

当前尝试的Python代码如下:

a=[]
with open(filename, 'r') as input:
   for line in input:       
        if 'ONE' in line:
            break
        a.append(line)
print(' '.join(a))
问题分析

这段代码存在几个明显问题:

  • 终止判断条件错误:文件里是单个字母O,代码里判断的是'ONE',根本触发不了break逻辑
  • 未过滤非数字内容:就算break逻辑正确,后面的数字也读不到,而且没有判断每行是否为数字
  • 拼接方式不符合需求:用空格拼接后输出的是带空格和换行的内容,不是要求的无间隔拼接格式
修正后的代码
numbers = []
with open('filename.txt', 'r') as f:
    for line in f:
        stripped_line = line.strip()  # 去掉每行的换行符和首尾空白
        if stripped_line.isdigit():  # 判断当前行是否为数字
            numbers.append(stripped_line)
# 拼接所有数字并包裹方括号
result = f"[{''.join(numbers)}]"
print(result)

运行后会直接输出[12345678],完全符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 13:12:10