gpt4 book ai didi

python - 在 Mac 终端上的 doctest 中运行 +NORMALIZE WHITESPACE 时出错

转载 作者:行者123 更新时间:2023-12-01 04:42:17 25 4
gpt4 key购买 nike

当我在 Mac 终端中运行以下 doctest

>>> import sys
>>> [1, 2, 3, 4, 5, 6, 7, 8, 9]
... # doctest: +NORMALIZE_WHITESPACE
[1, 2, 3,
4, 5, 6,
7, 8, 9]
>>> sys.stdout.write("This text contains weird spacing.")
... # doctest: +NORMALIZE_WHITESPACE
This text contains weird spacing.

我得到以下输出,末尾带有“33”,这使得该测试失败。知道如何纠正这个问题吗?

File "test2.txt", line 8, in test2.txt
Failed example:
sys.stdout.write("This text contains weird spacing.")
# doctest: +NORMALIZE_WHITESPACE
Expected:
This text contains weird spacing.
Got:
This text contains weird spacing.33
**********************************************************************
1 items had failures:
1 of 3 in test2.txt
***Test Failed*** 1 failures.

最佳答案

sys.stdout.write是一个返回已写入字符数的函数。 在返回之前,它将参数写入控制台。所以当你调用sys.stdout.write("This text contains weird spacing.")时该字符串被写入控制台,然后返回该字符串的长度 ( 33 )。这就是为什么 doctest 得到 This text contains weird spacing.33

我建议您使用print方法替代:

>>> print("This text contains weird spacing.")
... # doctest: +NORMALIZE_WHITESPACE
This text contains weird spacing.

如果您必须使用sys.stdout.write您可以捕获返回值,这样它就会被doctest忽略。 。像这样:

>>> ln = sys.stdout.write("This text contains weird spacing.")
... # doctest: +NORMALIZE_WHITESPACE
This text contains weird spacing.

关于python - 在 Mac 终端上的 doctest 中运行 +NORMALIZE WHITESPACE 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30337304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com