关于python:避免打印中的虚假空间

Avoid spurious space in print

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

我没想到,但是:

1
2
print"AAAA",
print"BBBB"

意志产出:

1
AAAA BBBB

中间有一个额外的空间。这实际上是有记录的。

我怎样才能避免这个无足轻重的空间呢?文件上说:

1
In some cases it may be functional to write an empty string to standard output for this reason.

但我不知道怎么做。


三种选择:

  • 不要使用两个print语句,而是连接这些值:

    1
    print"AAAA" +"BBBB"
  • 使用sys.stdout.write()直接编写报表,而不是使用print报表。

    1
    2
    3
    4
    5
    import sys

    sys.stdout.write("AAAA")
    sys.stdout.write("BBBB
    "
    )
  • 使用向前兼容的新print()功能:

    1
    2
    3
    4
    from __future__ import print_function

    print("AAAA", end='')
    print("BBBB")


习惯使用print()函数而不是语句。它更灵活。

1
2
3
4
from __future__ import print_function

print('foo', end='')
print('bar')