python - 将 ArgumentParser 移动到单独的文件中
问题描述
我有一个越来越长的 argparser。我想将它移动到一个单独的文件中以保持我的主脚本干净。现在我有:
主文件
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-t', '--test',
default=0.1,
type=float,
help='test')
# Many more arguments
args = parser.parse_args()
# My main code
print("Argument in my code:{}".format(args.test))
...
有没有办法把它变成两个文件来保持我的主文件干净?
主文件
import parsing_file
# My main code
print("Argument in my code:{}".format(args.test))
解析文件.py
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-t', '--test',
default=0.1,
type=float,
help='test')
# Many more arguments
args = parser.parse_args()
解决方案
感谢@Green Clock Guy 和@chepner 关于如何解决这个问题的建议。他们建议将解析器变成一个函数并将其返回给主函数。
主文件
import parsing_file
parser = parsing_file.create_parser()
args = parser.parse_args()
# My main code
print("Argument in my code:{}".format(args.test))
解析文件.py
import argparse
def create_parser():
parser = argparse.ArgumentParser()
parser.add_argument('-t', '--test',
default=0.1,
type=float,
help='test')
# Many more arguments
return parser
推荐阅读
- python - 使用openCV对齐图像
- react-native - 如何在 Nevercode CI 中设置 Appium 测试
- .htaccess - 重定向站点地图.xml
- c# - Visual Studio 未检测到 RichTextBox.Selection 属性。缺少使用参考?
- python - 有没有办法避免在字典中重复键值映射?
- python - 3D 中的 Python 频谱图(如 matlab 的频谱图函数)
- swift - 不同 pod 中的方法名冲突
- html - Chart.options 返回“'chart' 类型上不存在属性 'options'”
- angular - 根据其他输入字段值动态生成输入字段
- c - dbus_connection_setup_with_g_main() 的 GDBus 等效项