argparse - 这个 python3 脚本有什么问题?
问题描述
有一个简单的 python 脚本,我无法在 macOS 上的 python3 中工作。
import argparse
scriptMode = 4
my_parser = argparse.ArgumentParser(prog='Script v1.0', description='use mode as appropriate')
my_parser.add_argument('-m', dest='scriptMode', type=int, choices=range(1, 4), help='Enter mode 1 to 3',default=1)
my_parser.parse_args()
print (scriptMode)
每次我运行程序时,我都会得到输出 4,这是我传递的初始值。由于解析器不工作,这个值被用作调试。据我了解,运行时的参数解析器应将 1 存储在变量 scriptMode 中,而 print 语句应打印 1。我将脚本作为斜体python3 scriptname.py italic运行。帮助(python3.8.2)
解决方案
固定的。对脚本进行了如下更改。
import argparse
scriptMode = 4
my_parser = argparse.ArgumentParser(prog='Script v1.0', description='use mode as appropriate')
my_parser.add_argument('-m', dest='scriptMode', type=int, choices=range(1, 4), help='Enter mode 1 to 3',default=1)
p = my_parser.parse_args()
scriptMode = p.m
print (scriptMode)
推荐阅读
- ethereum - 在没有 API_KEY 的情况下将合同部署到 infura?
- xml - XSL - 用不同的值替换相同名称节点的值
- java - .putAll() 会影响复制的变量吗?
- javascript - 从数组中删除值为 0 的对象
- javascript - d3/javascript 根据输入过滤数据
- javascript - Node.js puppeteer - 如何从表中仅获取某些(过滤器)记录
- powershell - 通过文件夹路径为组中的用户获取有效访问权限
- django - /admin/auth/user/ 处的类型错误
- uima - 在 UIMA RUTA / RETAINTYPE 中构建 WordTables 的问题不起作用
- python - 字符串操作:如何隔离字典中的单词