- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我目前正在学习如何使用 Python optparse 模块。我正在尝试以下示例脚本,但 args 变量结果为空。我使用 Python 2.5 和 2.6 进行了尝试,但无济于事。
import optparse
def main():
p = optparse.OptionParser()
p.add_option('--person', '-p', action='store', dest='person', default='Me')
options, args = p.parse_args()
print '\n[Debug]: Print options:', options
print '\n[Debug]: Print args:', args
print
if len(args) != 1:
p.print_help()
else:
print 'Hello %s' % options.person
if __name__ == '__main__':
main()
输出:
>C:\Scripts\example>hello.py -p Kelvin
[Debug]: Print options: {'person': 'Kelvin'}
[Debug]: Print args: []
Usage: hello.py [options]
选项: -h, --help 显示此帮助信息并退出 -p 人,--person=人
最佳答案
args
变量包含所有未分配给选项 的参数。通过将 Kelvin
分配给 person
选项变量,您的代码确实可以正常工作。
如果您尝试运行 hello.py -p Kelvin file1.txt
,您会发现 person
仍然被分配了值 "Kelvin"
,然后您的 args
将包含 "file1.txt"
。
另见 the documentation on optparse
:
parse_args()
returns two values:
options
, an object containing values for all of your options—e.g. if--file
takes a single string argument, thenoptions.file
will be the filename supplied by the user, orNone
if the user did not supply that optionargs
, the list of positional arguments leftover after parsing options
关于Python optparse 不适合我,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2684732/
我正在尝试使用 optparse-applicative程序中的库应根据参数的数量执行不同的操作。 例如,计算周长的程序的参数解析: module TestOpts where import Opti
./hello_world -c arg1 arg2 arg3 是否可以通过编码使选项 -c 仅获得两个参数(arg1 和 arg2)? parser.add_option("-c",
我正在使用 optparse,最近遇到以下问题 - 我想将目录名称作为参数传递。像这样的东西: ./script.py --dir c:\a\b 但是,optparse 消除了“\”符号,因此相关变量
我有一个 mysql 数据库,我正在尝试打印特定学生的所有测试结果。我正在尝试创建一个命令行,在其中输入用户名,然后它将显示他/她的测试结果。我已经访问过此页面,但无法得到答案。 optparse a
通常,可以不带任何参数地调用 optparse 的方法 parse_args。但是,如果需要提供与 sys.argv 不同的参数集,则可以传递给 parse_args。 但是,如果需要将字符串而不是列
我正在开发一个接收一些参数并希望其中一些参数成为必需参数的程序,但我遇到了一些问题: 我确实需要使代码与 Python 2.4.x 兼容,所以我(至少是这么认为)只能使用 optparse 希望避免代
有没有办法让下面的工作?我正在寻找的是根据另一个选项的值获得一个选项的值。 import optparse parser = optparse.OptionParser() parser.add_op
请说明为什么下面的代码给出了错误,尽管两者都表示相同的选项。 In [3]: parser = optparse.OptionParser() In [4]: parser.add_option("-
我是 Python 的新手,并且在玩 optparse。我有这样的解析器功能: def parse(argv): """Option parser, returns the options l
我正在尝试使用 optparse,但遇到问题。 我的脚本用法是:script 我不打算添加任何选项字符串,例如:script -f 或script --file 有什么方法可以选择不传递参数字符串
我编写了一个最多接受 4 个选项和 2 个参数的函数。选项包括 -1、-2、-3 和 -u。默认情况下,它们的值分别设置为 true、true、true 和 false,但启用任何选项都会导致该值翻转
我想将数据传递给脚本,就像这样 if __name__ == '__main__': usage = 'python pull.py [-h ][-p ][-r ]arg1[,arg2..]'
if __name__=='__main__': parser = OptionParser() parser.add_option("-i", "--input_file",
我遇到了以下有趣的错误: parser.add_option("-n", "--number", metavar="NUMBER", type="int", hel
我目前正在学习如何使用 Python optparse 模块。我正在尝试以下示例脚本,但 args 变量结果为空。我使用 Python 2.5 和 2.6 进行了尝试,但无济于事。 import op
我试图更好地了解 optparse,但我很难理解为什么以下代码会这样运行。我在做傻事吗? import optparse def store_test(option, opt_str, value,
我正在编写一个 python 脚本,我希望它能够从命令行调用并作为库函数导入。理想情况下,命令行选项和函数应使用同一组默认值。允许我在两个地方重复使用一组默认值的最佳方法是什么? 这是具有重复默认值的
采用以下相当标准的代码: from optparse import OptionParser opts = OptionParser() opts.ad
当使用 optparse 时,我想在一个选项之后获取整个字符串,但我只获取到第一个空格的一部分。 例如: python myprog.py --executable python someOtherP
是否有 optparse (command line option parser) 的 C# 端口?来自 Python 的模块在一些 OSI-approved license 下可用? 最佳答案 你看
我是一名优秀的程序员,十分优秀!