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

如何将ASCII字符多行输出合并为单行(使用print(end=''))

读取数字转ASCII字符并单行输出

需求:读取文件中的多个数字,转换为对应的ASCII字符,将结果合并为单个单行字符串输出(原代码循环打印会换行)。

原代码

fname = input("Enter filename: ")
infile = open(fname,'r')
numList = infile.read()
for i in numList.split():
    chr(eval(i))

当前输出

a
b
c
d
e
f
g

期望输出

abcdefg

修改方案

原代码仅计算了ASCII字符但未执行打印操作,且缺少控制换行的参数。可按以下方式调整:

  1. 用int(i)替代eval(i):eval()存在安全风险,直接将字符串转换为整数更稳妥
  2. 使用print(chr(int(i)), end=''):end=''会覆盖默认的换行符,让所有字符连续输出在同一行
  3. (可选)用with语句管理文件:自动处理文件关闭,代码更健壮

修改后的完整代码

fname = input("Enter filename: ")
with open(fname, 'r') as infile:
    numList = infile.read()
    for i in numList.split():
        print(chr(int(i)), end='')
# 可选:最后手动换行,让输出格式更规范
print()

运行这段代码后,所有转换后的ASCII字符会连续输出在同一行,符合期望效果。

内容的提问来源于stack exchange,提问作者Andy B.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 19:10:56