【问题标题】:Is it possible to use 'print >>' in Python 2 without newline and white spaces?是否可以在没有换行符和空格的 Python 2 中使用“打印 >>”?
【发布时间】:2018-07-17 03:20:52
【问题描述】:

在以下代码中:

with open("output", "w") as f:
    print >> f, "foo"
    print >> f, "bar"

“输出”文件将是:

foo
bar

如何使用print >> 避免换行符和空格?

P.S.:我实际上想知道是否可以使用print >> 来做到这一点。我知道可以避免使用“\n”的其他方法,例如f.write("foo")f.write("bar")

另外,我知道尾随逗号。但打印的是foo bar,而不是foobar

【问题讨论】:

  • 为什么,为什么您想使用已弃用的构造来做到这一点?
  • 出于好奇,我只是想知道是否有可能。我喜欢了解不同的语法。

标签: python python-2.7 python-2.x


【解决方案1】:

结尾的逗号使print 语句变得神奇,就像除非没有进一步的输出,否则不打印换行符 (not documented!):

print >>f, "foo",

但如果你想要一个一致的无换行策略(并且因为你有第二个print,它将打印一个空格),这并没有真正的帮助。为此,请使用 Python 3 的打印功能:

from __future__ import print_function

print("foo", end="", file=f)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-01
    • 2013-11-06
    • 1970-01-01
    • 2011-05-28
    • 2012-09-23
    相关资源
    最近更新 更多