将ArgumentParser移动到单独的文件中

2024-04-25 19:25:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个argparser,它越来越长了。我想将它移动到一个单独的文件中,以保持我的主脚本干净。现在我有:

main.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()
# My main code
print("Argument in my code:{}".format(args.test))
...

有没有办法将此文件转换为两个文件以保持主文件的干净

main.py

import parsing_file
# My main code
print("Argument in my code:{}".format(args.test))

解析_file.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()

Tags: 文件pytestimportadddefaultparsermain
1条回答
网友
1楼 · 发布于 2024-04-25 19:25:07

感谢@Green Clock Guy和@chepner对如何解决此问题的建议。他们建议将解析器转换为函数并将其返回到主函数

main.py

import parsing_file

parser = parsing_file.create_parser()
args = parser.parse_args()
# My main code
print("Argument in my code:{}".format(args.test))

解析_file.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

相关问题 更多 >