使用python3,我有一个控制台应用程序要移植到GUI上。代码有一堆打印语句,如下所示:
print(' ', 'p', ' ', sep='', end='')
(实际上,位置参数实际上是从函数返回的,可能多于或少于3个,如下所示:
print(f1(), f2(), f3(), sep='', end='')
我想把这些电话转换成:
GuiPrintLine(' ', 'p', ' ', sep='', end='')
其中每一行最终都是使用GUI框架呈现的。在
如果可以将参数转换为字符串,这很容易实现。我想将参数列表格式化为一个字符串,打印通常会输出如下内容:
def GuiPrintLine(*args, **kwargs):
s = text.format(*args, **kwargs)
# ... then display the string on the gui ...
但是,这需要一个格式字符串(文本)。有没有一种简单的方法可以自动生成与print函数相同的输出?我意识到我可以通过将所有参数与sep和ends结合来模拟打印,但是如果有一个内置的解决方案,我更愿意使用它。在
使用打印和重定向sysout并不吸引人,因为它需要修改应用程序的全局状态,而sysout可能同时用于其他诊断。在
在Python中,这似乎是微不足道的,所以可能我只是遗漏了一些显而易见的东西。在
谢谢你的帮助!在
通过字符串io找到答案。有了这个,我就不必模仿Print对sep/end的处理,甚至不必检查是否存在。在
相关问题 更多 >
编程相关推荐