所以我对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)
答案 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}}