1

因此,总的来说,我对 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)
4

2 回答 2

3

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

如果你有 2.3 <= Python < 2.7安装 argparse 模块

由于 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
于 2011-12-08T03:10:52.837 回答
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

于 2011-12-08T03:06:42.060 回答