Python在命令行参数中选择属性

时间:2015-11-13 12:19:28

标签: python

在下面的代码中,我试图解析命令行的参数:

IBase

当我运行代码时,我得到了:

public partial class STOrmContext : IdentityDbContext<ApplicationUser>
{
}

命令行是:

dnx ef command migrations add Initial

为什么opts具有空值?

3 个答案:

答案 0 :(得分:1)

仅使用 测试此实际参数传递给getopt,我得到了预期的行为:

>>> import getopt
>>> opts, args = getopt.getopt(['-s', 'stop_list.txt', '-c', 'documents.txt', '-i', 'index.txt', '-I'], 'hs:c:i:I')
>>> opts
[('-s', 'stop_list.txt'), ('-c', 'documents.txt'), ('-i', 'index.txt'), ('-I', '')]
>>> args
[]

the documentation

  

args 是要解析的参数列表,没有对正在运行的程序的引用。

如果'python'中还有sys.argv和脚本名称,则需要从头开始切片。您也可以考虑按照argparse文档中的建议切换到getopt

答案 1 :(得分:1)

由于我使用Spyder,问题在于命令参数。命令必须是:

-s stop_list.txt -c documents.txt -i index.txt -I

没有python Practice5.py

在常规命令行中,它可以与python Practice5.py

一起使用

答案 2 :(得分:0)

我建议您使用argparse;一旦你理解,它就容易得多。