python - 如何阻止Python的Sys模块的 "stdout"和 "stderr"write方法返回写入的字符数

标签 python stdout stderr sys

每当我使用write时方法来自 stdoutstderr当使用 Python 解释器在 Python 中的 Python 内置“sys”模块中读取对象时,该方法还会打印一个整数,表示我作为 text 的参数提供的字符串后面的字符串中的字符数。 stdout 的参数或stderr方法,这确实令人沮丧,因为我只想要文本,而不想要字符串长度。 例如:

>>> sys.stdout.write('string')
string6

我只想打印“'string' ”,而不是字符串长度( 6 )。 我尝试使用 sys.stdout.write('string')[:-1] 来解决这个问题我认为这也会删除字符串后面放置的字符数

然后我发现我作为参数提供的字符串中的字符数出现了,因为我使用了解释器,并且解释器打印了函数返回但未打印的值。

所以我想做的是调用sys.stdout.write('test')但阻止它返回我提供的字符串中的字符数 text争论。我该怎么做?

最佳答案

您无法阻止现成的函数在调用它时执行其操作。您可以做的就是通过对返回值执行某些操作来阻止 Python 解释器打印返回值,例如: G。将其分配给变量。

关于python - 如何阻止Python的Sys模块的 "stdout"和 "stderr"write方法返回写入的字符数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67024478/

相关文章:

c - 管道到标准输出

c++ - 将标准输出转发到 Qt 应用程序中的文件

logging - 在 WildFly 中控制 stderr 和 stdout 输出

linux - 在 Linux 系统上,如何将 stdout 重定向到 stderr?

python - PyQt5 动画行为作为类属性

python - 传播应用程序设置

python - 在 Heroku 中连接 psycopg2 和 Python

python - 多处理:我怎样才能 ʀᴇʟɪᴀʙʟʏ 从子进程重定向标准输出?

java - Windows 上的 System.err 在哪里?

python - 属性装饰器的下划线开头的变量