如何在打印声明后抑制换行符?

时间:2012-08-24 03:23:34

标签: python python-3.x

我读到了在打印语句后禁止换行,你可以在文本后面加一个逗号。示例here看起来像Python 2. 如何在Python 3中完成?

例如:

for item in [1,2,3,4]:
    print(item, " ")

需要更改哪些内容才能将它们打印在同一行?

5 个答案:

答案 0 :(得分:90)

问题是:“如何在Python 3中完成?

将此构造与Python 3.x一起使用:

for item in [1,2,3,4]:
    print(item, " ", end="")

这将产生:

1  2  3  4

有关详细信息,请参阅此Python doc

Old: print x,           # Trailing comma suppresses newline
New: print(x, end=" ")  # Appends a space instead of a newline

-

除了

此外,print()函数还提供sep参数,该参数允许指定应如何分隔要打印的各个项目。如,

In [21]: print('this','is', 'a', 'test')  # default single space between items
this is a test

In [22]: print('this','is', 'a', 'test', sep="") # no spaces between items
thisisatest

In [22]: print('this','is', 'a', 'test', sep="--*--") # user specified separation
this--*--is--*--a--*--test

答案 1 :(得分:4)

打印没有从语句转换到函数直到Python 3.0。如果您使用较旧的Python,则可以使用尾随逗号来抑制换行符,如下所示:

print "Foo %10s bar" % baz,

答案 2 :(得分:3)

Python 3.6.1代码

>>>
This first text and second text will be on the same line
Unlike this text which will be on a newline

<强>输出

{{1}}

答案 3 :(得分:0)

因为python 3 print()函数允许end =“”定义,所以满足了大多数问题。

在我的情况下,我想要PrettyPrint并且对此模块没有进行类似更新感到沮丧。所以我做了我想做的事情:

from pprint import PrettyPrinter

class CommaEndingPrettyPrinter(PrettyPrinter):
    def pprint(self, object):
        self._format(object, self._stream, 0, 0, {}, 0)
        # this is where to tell it what you want instead of the default "\n"
        self._stream.write(",\n")

def comma_ending_prettyprint(object, stream=None, indent=1, width=80, depth=None):
    """Pretty-print a Python object to a stream [default is sys.stdout] with a comma at the end."""
    printer = CommaEndingPrettyPrinter(
        stream=stream, indent=indent, width=width, depth=depth)
    printer.pprint(object)

现在,当我这样做时:

comma_ending_prettyprint(row, stream=outfile)

我得到我想要的东西(替换你想要的东西 - 你的里程可能会变化)

答案 4 :(得分:0)

有关不使用换行符here的打印的一些信息。

在Python 3.x中,我们可以在打印功能中使用“ end =”。这告诉它以我们选择的字符结尾而不是以换行符结尾。例如:

print("My 1st String", end=","); print ("My 2nd String.")

结果是:

My 1st String, My 2nd String.