如何在python中的选项中保留换行符?

时间:2018-07-25 07:29:57

标签: python python-2.7

我要在选项--opt hello\nworld\n中输入换行符

这是代码段:

def parse_args():
    parser = argparse.ArgumentParser()
    parser.add_argument('--embed', dest='embed', default=None, help='embed info')
    return parser.parse_args()
if __name__ == '__main__':
    args = parse_args()
    print args.embed # It shows: hellonworldn

我如下执行:

python test.py --embed hello\nworld\n

但是它总是失败,并且不会显示换行符:

hellonworldn

我也执行如下操作:

python test.py --embed "hello\nworld\n"

但是在没有换行符的情况下,它仍然无法打印:

hello\nworld\n

如何保留换行符并使输出如下所示?

hello
world

1 个答案:

答案 0 :(得分:1)

我无法完全重现该问题:

C:\Users\pi\Desktop>C:\Anaconda3\python test.py --embed hello\nworld\n
hello\nworld\n

因此可以正确读取字符串,将反斜杠解释为原义的反斜杠。如果要解析它们,请使用

print args.embed.decode("string_escape")

在Python 3中,它看起来有点不同(请参见Process escape sequences in a string in Python