gpt4 book ai didi

python - 为后续打印添加永久字符

转载 作者:太空宇宙 更新时间:2023-11-03 18:06:30 25 4
gpt4 key购买 nike

Python 中有没有一种简单的方法可以将永久字符(或字符串)添加到多个打印中?

示例:

add_string('Hello ')
print('World')
print('You')

会输出

Hello World
Hello You

有没有一种方法可以在不更改代码的以下部分的情况下做到这一点:

print('World')
print('You')

最佳答案

您可以让您的 add_string 函数覆盖内置的 print 函数:

from __future__ import print_function  # for python 2.x

def add_string(prefix):
def print_with_prefix(*args, **kwargs):
if prefix:
args = (prefix,) + args
__builtins__.print(*args, **kwargs)
global print
print = print_with_prefix

您可以设置或取消设置前缀,同时保留传递给 print 的任何其他参数。

print("foo")                                  # prints 'foo'
add_string(">>>")
print("bar") # prints '>>> bar'
print("bar", "42", sep=' + ', end="###\n") # prints '>>> + bar + 42###'
add_string(None)
print("blub") # prints 'blub'

如果您使用 print 语句(即 print "foo" 而不是 print("foo")),那么您必须使用自定义编写器重新定义 sys.stdout:

import sys
stdout = sys.stdout
def add_string(prefix):
class MyPrint:
def write(self, text):
stdout.write((prefix + text) if text.strip() else text)
sys.stdout = MyPrint() if prefix else stdout

关于python - 为后续打印添加永久字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26784683/

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