-
资料参考:argparse官方文档
-
解决参考:Stack Overflow
-
问题:
使用Spyder的默认控制台(IPython内核)以如下方式解析命令行参数时出现报错无法运行;
python xxx.py --mu 0.1 --gamma 0.2
- 代码示例:
import argparse
def args_parser():
parser = argparse.ArgumentParser()
# arguments for specific algorithms
parser.add_argument('--mu', type=float, default=0.01, help="value of mu")
parser.add_argument('--gamma', type=float, default=0.2, help="value of gamma")
args = parser.parse_args()
return args
args = args_parser()
'''
Run: python xxx.py --mu 0.1
'''
- 报错代码:
ValueError: need more than 1 value to unpack
- 解决方案:
1.若将argv传递给Spyder中的脚本,需要进入菜单(或 ctrl+F6):
Run > Configuration per file
在随后出现的对话框中,最后输入希望传递给脚本的命令行参数
2.直接在IPython Console中使用runfile运行代码即可:
runfile('xxx.py', args = '--mu 0.1')

当使用Spyder的IPython内核通过命令行参数运行python脚本,如`pythonxxx.py--mu0.1--gamma0.2`时,可能会遇到`ValueError:needmorethan1valuetounpack`的错误。该问题可以通过两种方式解决:一是进入Spyder的运行配置,设置命令行参数;二是直接在IPythonConsole中使用`runfile`函数指定参数运行脚本。
1482

被折叠的 条评论
为什么被折叠?



