【问题标题】:Output from sys.stdout in interactive mode交互模式下 sys.stdout 的输出
【发布时间】:2013-10-22 18:23:41
【问题描述】:

我在交互模式下测试了 sys.stdout.write;为什么我得到数字后缀的“额外”1和2?如果我从文件中运行代码,我会在 Windows 机器上得到预期的输出 (1234...) Python 3.3

>>> import sys
>>> for i in range(15):
...     sys.stdout.write(str(i))
...
01
11
21
31
41
51
61
71
81
91
102
112
122
132
142
>>>

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    Python 回显sys.stdout.write()调用的返回值,即写入的字节数:

    >>> import sys
    >>> written = sys.stdout.write('10')
    10>>> written
    2
    

    这里的下一个提示符是'10',没有换行符。

    或者,作为一种不同的演示方式,在循环中写入 0 个字节会多次打印 0

    >>> for i in range(3):
    ...     sys.stdout.write('')
    ... 
    0
    0
    0
    

    【讨论】:

      猜你喜欢
      • 2023-04-05
      • 1970-01-01
      • 2020-12-01
      • 1970-01-01
      • 2018-10-04
      • 2011-12-02
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      相关资源
      最近更新 更多