如何为变量分配选项?

时间:2016-02-04 06:24:04

标签: python bash optparse

我是python和编程的新手。我想通过在ipython中使用optparse模块为变量分配选项。我的代码如下:

import sys
import optparse
parser = optparse.OptionParser()
parser.add_option('-v', action="store_true", dest='verbose', default=False)
(options, others) = parser.parse_args()
print options.verbose
if options.verbose:
    print "Not yet"
else:
    print "Done"

我将它们保存在一个文件中,我可以像这样用bash运行它:

$ python filename.py -verbose

现在我想将整个代码分配给变量。我希望它能像这样运行:

$ myvar -verbose

我该怎么做?感谢。

3 个答案:

答案 0 :(得分:1)

执行此操作的一种方法是使用shebang使python脚本可执行。将其添加为filename.py文件中的第一行

#!/usr/bin/env python

接下来,您需要将文件权限更改为可执行文件。在命令行中,执行:

$ chmod +x filename.py

然后你可以直接执行filename.py:

$ ./filename.py -verbose

您当然可以将filename.py重命名为myvar,或者像这样制作symolic link

$ ln -s filename.py myvar

现在你可以做到:

$ ./myvar -verbose

如果您不想添加/.(它只是告诉shell可执行文件在当前目录中),或者希望能够从任何地方使用“myvar”命令行,可以将您的工作目录添加到环境PATH

export PATH=$PATH:$PWD

您可能希望阅读有关命令行用法的详细教程,以获取有关此类内容的更多信息。投入一点时间真的很有意义!

答案 1 :(得分:0)

别名是你的朋友:

alias myvar="python filename.py"

答案 2 :(得分:-1)

只需分配给shell变量:

myvar='python filename.py'
$myvar -verbose

请注意前导$,如果您使用别名(@Nick Edward' s解决方案),则不需要。{/ p>

顺便说一句,-verbose将设置选项v,e,r,b,o,s和e。也许你的意思是一个很长的选择,比如--verbose