首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OptionParser不带符号'&‘’

OptionParser不带符号'&‘’
EN

Stack Overflow用户
提问于 2014-01-09 09:00:43
回答 1查看 305关注 0票数 1

在python中使用OptionParser有问题。当我将'&‘作为输入中的一个字符时,它将丢弃'&’,并且它旁边的字符将被视为单独的命令。下面是test.py的示例代码:

代码语言:javascript
复制
  from optparse import OptionParser
  cmdParser = OptionParser()
  cmdParse.add_option("-n", "--USER", help="User Name")
  cmdParse.add_option("-p", "--PASSWORD", help="Password")
  (options, args) = cmdparser.parse_args()
  uname = options.USER
  pwd = options.PASSWORD

当我使用命令运行它时:、python、test.py、-n、示例-p 123& 45 密码,它只读取123,并且不能识别为interna和外部命令错误。除'&‘以外,所有其他特殊符号都工作得很好。如果我给-p "123&45",它可以正常工作。但我不想显式地指定字符串。这是OptionParser的一个限制吗?任何帮助都是值得赞赏的。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-09 09:06:46

这并不是optparse的问题--你的程序从来没有看到过任何超出符号的东西--因为这是由您的shell解释的。"&“在许多shell中用于在后台启动命令。因此,命令行被解释为“在后台运行python test.py -n sample -p 123,然后运行命令45",解释您的错误。解决办法是引用你的选择,正如你已经发现的那样。这是shell的一个限制,您在Python中所做的任何操作都无法修复,因为程序从未看到整个选项。

PS:您是 anymore --而是使用argparse

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21015652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档