我是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
我该怎么做?感谢。
答案 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
?