Python进程转义字符

2024-09-29 11:15:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个带有ASCII转义字符的字符串。我想print()的输出结果存储在变量中。在我的示例中,值"pwd",没有ASCII值。你知道吗

注意:带有Regex的replace函数不起作用,因为有一些backspaces\x08)要处理,还有一些escape characters(例如光标移动)。我不想手动开发一个解决方案来管理每个转义字符,我希望有一个函数具有print()输出的相同结果,但我可以将结果存储在一个变量中。你知道吗

s = 'ld\x08\x08\x07m\x08\x07\x07pwd'
print(s) # pwd
print(repr(s)) # 'ld\x08\x08\x07m\x08\x07\x07pwd'

我试着捕捉输出,但没用。你知道吗

from contextlib import redirect_stdout
import io
f = io.StringIO()
with redirect_stdout(f):
    print(s)
expected = format(f.getvalue())
print(repr(expected)) # 'ld\x08\x08\x07m\x08\x07\x07pwd\n'

Tags: 函数ioimportstdoutpwdasciiredirectprint