Parse text with newline using argparse
在Python中,使用argparse,有没有办法解析包含作为参数给出的换行符的文本?
我有这个脚本:
1 2 3 4 5 6 7 8 9 10 11 12 | #!/usr/bin/env python3 # -*- coding: utf-8 -*- import argparse parser = argparse.ArgumentParser(formatter_class=argparse.RawTextHelpFormatter) parser.add_argument('text', help='some text with newline') args = parser.parse_args(["line1 line2"]) print(args.text) |
按预期打印:
1 2 | line1 line2 |
但是如果我在命令行中给出参数(在上面的脚本中更改为
1 2 3 4 | $ ./newline2argparse.py"line1 line2" line1 line2 |
有什么想法吗?
如果要在shell字符串中处理转义序列,请用
1 2 | ./newline2argparse.py $'line1 line2' |
请注意,这是
您的
1 2 3 4 5 6 | $ ./newline2argparse.py"$(echo -en 'line1 line2')" $ ./newline2argparse.py"$(printf 'line1 line2')" $ ./newline2argparse.py `printf"line1 line2"` |
有很多选择。