python测试字符串转义字符在打印后仍然存在

python测试字符串转义字符在打印后仍然存在,python,python-2.7,unit-testing,pytest,Python,Python 2.7,Unit Testing,Pytest,我有一个函数,它的作用类似 def foo(): return ["echo", "-e", "this\nis\nmultiline"] 这将写入一个.sh文件,在某个时刻执行,我想做一个UnitTest来检查字符串在最后一个参数中是否仍然具有\n,并且它没有被写入 echo -e this is multiline 我不知道如何计算字符串以便得到打印后的表示 我知道我可以写出来,读出来,然后检查它是否正确,但联合测试似乎

我有一个函数,它的作用类似

def foo():
    return ["echo", "-e", "this\nis\nmultiline"]
这将写入一个.sh文件,在某个时刻执行,我想做一个UnitTest来检查字符串在最后一个参数中是否仍然具有
\n
,并且它没有被写入

echo -e this
is
multiline
我不知道如何计算字符串以便得到打印后的表示

我知道我可以写出来,读出来,然后检查它是否正确,但联合测试似乎真的不喜欢这种方法


这样做的方式是什么?(最好使用python 2.7)

使用字符串的函数
拆分行

a = "1\n2\n3"
b = r"1\n2\n3"
c = "1\\n2\\n3"

len(a.splitlines()) # 3
len(b.splitlines()) # 1
len(c.splitlines()) # 1

os.popen([“/bin/echo”、“-e”、“this\nis\n multiline”])。read()
?将允许您检查输出该命令不一定是echo命令。这么说?但不是真的。它确实带来了打印和捕获流的想法。但这听起来不太正确,因为我已经用python 3.8制作了这个单元测试演示,希望它能帮助您