获取原始输入作为选项?

时间:2011-12-08 03:03:16

标签: python getopt

所以我对python一般都很新,主要用它来轻松移动文件,而我最近做的就是使用raw_input来获取一个名称作为目录名变量传递。但我说getopt并认为它可以节省时间和精力来尝试获取raw_input提示用户作为选项的变量。但我找不到任何我想要做的事情的例子。

而不是等待它提示我,我可以输入meego.py shortname = example并让它做到这一点。这件事容易吗?

这是我基本没有的

var = raw_input("Shortname=")

print 'starting: ' + str(var)

svn_app = svn_root + "/" + var    


shutil.copyfile(riproot + '/images/ApplicationIcon.png',
            svn_app + '/images/ApplicationIcon.png') 

print 'done: ' + str(var)

2 个答案:

答案 0 :(得分:3)

如果你有Python> = 2.7,请使用argparse模块(它是标准库的一部分)。

如果你有2.3< = Python< 2.7 install the argparse module

由于Python的未来朝向或已经在使用argparse模块,因此您应该使用它而不是其中一个较旧的模块(如optparse或getopt)。


import argparse

parser=argparse.ArgumentParser()
parser.add_argument('--shortname')
args=parser.parse_args()

print 'starting: ' + str(args.shortname)

可以像这样使用:

% prog.py --shortname example
starting: example

答案 1 :(得分:2)

而不是getopt尝试optionParser它更进化。

from optparse import OptionParser

if __name__ == __main__:
    parser = OptionParser()
    parser.add_option("-f", "--file", dest="filename",
                      help="write report to FILE", metavar="FILE")
    (optionss, args) = parser.parse_args()

    if options.filename:
        move_file(options.filename)

此模块还为-h --help提供了内置支持,即yourscript.py -h支持。试试{{1}}