使用 run -m 时将参数传递给 IPython 中的模块

Ame*_*ina 2 python ipython argparse

我刚刚安装了 IPython 的 git master 分支。下列:

In [1]: run -m my_packages.my_module -verbosity 20
Run Code Online (Sandbox Code Playgroud)

返回错误:

UsageError: option -v not recognized ( allowed: "nidtN:b:pD:l:rs:T:em:G" )
Run Code Online (Sandbox Code Playgroud)

尽管以下方法有效:

$ python -m my_packages.my_module -verbosity 20
Run Code Online (Sandbox Code Playgroud)

我使用argparse如下:

parser = argparse.ArgumentParser(description='my_program')
parser.add_argument('-verbosity',   help='Verbosity', required=True)
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

min*_*nrk 5

添加--在某个点停止命令行解析:

In [1]: %run -m my_packages.my_module -- -verbosity 20
Run Code Online (Sandbox Code Playgroud)

这是argparse 用于添加额外位置参数的标准行为。