我要在选项--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
答案 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)