如何遍历文件行并将其拼接进指定字符串后打印输出
问题分析与解决
你的代码存在这些问题:
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}'")
代码说明:
with语句:自动处理文件的打开与关闭,避免忘记关闭文件导致的资源问题;- 逐行遍历:直接
for line in file即可遍历每一行,无需额外操作; strip()方法:去掉每行末尾的换行符和前后空白,保证输出格式整洁;- f-string格式化:Python3.6及以上版本支持,语法简洁直观,能快速将变量插入到固定字符串中,输出符合要求的格式。
如果你的Python版本低于3.6,可以用格式化字符串的另一种写法替代f-string:
print("'%s' %s '%s'" % (prefix, number, suffix))
内容的提问来源于stack exchange,提问作者YeahToast14
相关产品推荐
相关产品推荐

