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

如何遍历文件行并将其拼接进指定字符串后打印输出

问题分析与解决

你的代码存在这些问题:

  • lines = len(file.readline()) 完全多余,还会导致文件指针移动到第二行,直接跳过第一行内容;
  • 循环里嵌套print(file.readline(), b)是错误操作:print函数本身返回None,所以会额外输出None,而且每次循环会读取两行内容,导致一半的行被跳过;
  • 变量a的内容是"This number",和你需求里的"The number,"不匹配;
  • 没有处理行尾的换行符,输出时可能会出现多余空行;
  • 未使用with语句管理文件,存在资源泄露风险。

正确实现代码

# 定义前后固定字符串
prefix = 'The number,'
suffix = ' appears in the list'

# 使用with语句自动管理文件,无需手动关闭
with open(r"My\File\Path\Example.txt", "r") as file:
    # 逐行遍历文件内容
    for line in file:
        # 去掉行尾的换行符和前后空白字符
        number = line.strip()
        # 用f-string格式化输出,匹配需求格式
        print(f"'{prefix}' {number} '{suffix}'")

代码说明:

  1. with语句:自动处理文件的打开与关闭,避免忘记关闭文件导致的资源问题;
  2. 逐行遍历:直接for line in file即可遍历每一行,无需额外操作;
  3. strip()方法:去掉每行末尾的换行符和前后空白,保证输出格式整洁;
  4. f-string格式化:Python3.6及以上版本支持,语法简洁直观,能快速将变量插入到固定字符串中,输出符合要求的格式。

如果你的Python版本低于3.6,可以用格式化字符串的另一种写法替代f-string:

print("'%s' %s '%s'" % (prefix, number, suffix))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 07:05:18