如何创建一个接受参数的命令行程序?

1 投票
9 回答
2034 浏览
提问于 2025-04-15 19:43

我该如何创建一个命令行,这样我就可以在Windows上用一些参数来执行我的程序呢...

举个例子:

C:/Program/App.exe -safemode

9 个回答

3

你是在说传给 Python 脚本的参数吗?

因为你可以通过下面的方式来访问这些参数:

import sys
print sys.argv

或者你也可以使用一个更高级的 getopt 模块。

7

我感觉你也想生成一个可以独立运行的“可执行文件”……为此,你可以使用 py2exe

下面是一个完整的 example.py 示例:

import optparse

parser = optparse.OptionParser()

parser.add_option("-s", "--safemode",
                  default = False,
                  action = "store_true",
                  help = "Should program run in safe mode?")

parser.add_option("-w", "--width",
                  type = "int",
                  default = 1024,
                  help = "Desired screen width in pixels")

options, arguments = parser.parse_args()

if options.safemode:
    print "Proceeding safely"
else:
    print "Proceeding dangerously"

if options.width == 1024:
    print "running in 1024-pixel mode"
elif options.width == 1920:
    print "running in 1920-pixel mode"

接下来是一个完整的 setup.py,它可以把上面的 example.py 转换成 example.exe(放在 dist 子目录里):

from distutils.core import setup
import py2exe
import sys

sys.argv.append('py2exe')

setup(
    options = {'py2exe': dict(bundle_files=1, optimize=2)},
    console = ["example.py"],
    zipfile = None,
    )
9

可以看看标准库里的 getoptoptparse 模块,这些模块有很多不错的功能。另外,还有一个更高级的模块 argparse,也值得一提。

一般来说,你只需要访问 sys.argv 就可以了。

撰写回答