在下面的代码中,我试图解析命令行的参数:
IBase
当我运行代码时,我得到了:
public partial class STOrmContext : IdentityDbContext<ApplicationUser>
{
}
命令行是:
dnx ef command migrations add Initial
为什么opts具有空值?
答案 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
[]
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
;一旦你理解,它就容易得多。