无法在 optparse 中用字符串换行
Can't break a line with string in optparse
我正在尝试使用 optparse 以 \n 换行。示例:第 1 行 \n 第 2 行
但是,当我输入 \n 时,它不会中断,只是将其打印为 line1 \n line2,而不是中断。这是我的代码:
import optparse
import sys
def main():
progparse = optparse.OptionParser("usage " + "--message <text here>")
progparse.add_option("--message", dest="msg_txt", type="string", help="Type the message you want to send")
msg_txt = ""
if (options.msg_txt == None):
print(progparse.usage)
sys.exit()
print(options.msg_txt)
if __name__ == '__main__':
main()
如果我只是用 \n 做一个简单的打印语句,那么它会断行,为什么在使用 optparse 时它不这样做?
选项 1,在输入中使用 real 新行:
$ python3 test.py --message "line1
> line2
> line3"
line1
line2
line3
option2, eval \n
as real new line with ast.literal_eval:
print(ast.literal_eval('"' + options.msg_txt + '"'))
请注意,这可能会引发格式不正确的输入的异常。
我正在尝试使用 optparse 以 \n 换行。示例:第 1 行 \n 第 2 行 但是,当我输入 \n 时,它不会中断,只是将其打印为 line1 \n line2,而不是中断。这是我的代码:
import optparse
import sys
def main():
progparse = optparse.OptionParser("usage " + "--message <text here>")
progparse.add_option("--message", dest="msg_txt", type="string", help="Type the message you want to send")
msg_txt = ""
if (options.msg_txt == None):
print(progparse.usage)
sys.exit()
print(options.msg_txt)
if __name__ == '__main__':
main()
如果我只是用 \n 做一个简单的打印语句,那么它会断行,为什么在使用 optparse 时它不这样做?
选项 1,在输入中使用 real 新行:
$ python3 test.py --message "line1
> line2
> line3"
line1
line2
line3
option2, eval \n
as real new line with ast.literal_eval:
print(ast.literal_eval('"' + options.msg_txt + '"'))
请注意,这可能会引发格式不正确的输入的异常。