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

Python2中如何将所有文本(含长文本)打印为单行?

在Python 2里实现单行打印的实用方法

嘿,在Python 2里要把内容都打在同一行,其实分两种场景来处理就很清晰了,我给你一步步讲:

一、多个打印操作输出到同一行

Python 2里的print是个语句(不是Python 3里的函数),默认打完就换行。要让多次打印的内容凑到一行,有两个常用办法:

  • 带逗号的print语句:在每个print的末尾加个逗号,这样它会用空格代替换行符。比如你示例里的内容,可以这么写:
    print "����",
    print "JFIF",
    print "H",
    print "H",
    print "��",
    print "C",
    print "��",
    print "C"
    
    不过这个方法会在每个内容之间加空格,如果你要完全无缝拼接,就用下面的方法。
  • 用sys.stdout.write():直接操作标准输出,它不会自动加任何换行或空格,完全按你传入的内容输出,精准控制:
    import sys
    sys.stdout.write("����")
    sys.stdout.write("JFIF")
    sys.stdout.write("H")
    sys.stdout.write("H")
    sys.stdout.write("��")
    sys.stdout.write("C")
    sys.stdout.write("��")
    sys.stdout.write("C")
    # 要是最后需要换行,加一句sys.stdout.write("\n")就行
    

二、长文本直接打印成一行

如果是一段已经存在的长文本(比如带空格、换行的原始内容),你只需要先把文本里的多余分隔符(空格、换行符)去掉,再打印就好。拿你的示例来说:

# 假设原文本是带空格的字符串
original_text = "���� JFIF H H �� C �� C"
# 去掉所有空格(如果是换行符就用.replace("\n", ""))
processed_text = original_text.replace(" ", "")
print processed_text  # 输出就是你要的连续一行:����JFIFHH��C��C

要是你的长文本是从文件里读的,那就一次性读取所有内容,再清理掉换行和多余空格:

with open("your_file.txt", "r") as f:
    long_text = f.read()
# 替换掉所有换行符和空格,按需调整
clean_text = long_text.replace("\n", "").replace(" ", "")
print clean_text

另外还有个小技巧:如果你想用上Python 3风格的print函数(可以指定end参数),可以导入__future__模块,这样写法更灵活:

from __future__ import print_function
print("����", end="")
print("JFIF", end="")
print("HH��C��C")

这里end=""告诉print不要自动加换行,而是用空字符串结尾,完美实现单行打印。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 04:14:12