关于python:不带换行的打印

Print without line feed

本问题已经有最佳答案,请猛点这里访问。

如何在结尾不添加换行符的情况下用python打印某些内容?

比如c中的printf("abc")(结尾没有
)或者node.js中的process.stdout.write("abc")


Python 3:

使用print函数的end参数覆盖其默认'
'
值,这样函数就不会在末尾添加新行:

1
print(text, end='')

Python 2:

print语句中添加尾随逗号:

1
print text,

如果您需要同时适用于python 2和python 3的解决方案,您应该考虑在python 2中导入print函数,这样您就可以在这两者上使用上面提到的python 3语法。您可以使用模块顶部的以下行进行此操作:

1
from __future__ import print_function

在python 2中(尽管这会在文本末尾增加一个额外的空间):

1
print"abc",

在python 3中(或带有from __future__ import print_function的python2):

1
print("abc", end="")

这在2和3中都有效:

1
2
import sys
sys.stdout.write("abc")


这里有一个解决方案:

1
print("aze", end ="")

end设置行尾字符(和sep句子分隔符)。你可以试试:

1
print("hello","my name","is", sep="*", end ="w")