在导入的modu中使用命令行参数

2024-04-25 17:12:48 发布

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

我有download.py脚本:

import argparse
import models

parser = argparse.ArgumentParser()
parser.add_argument("--db_path", required=True)

args = parser.parse_args()

models.py

^{pr2}$

我不想使用wee.db文件中的args.db_path中的数据库路径。我该怎么做?在


Tags: pathpyimport脚本addtrueparserdb
2条回答

您只需将参数传递给SqliteDatabase构造函数。在

你好像在用Django。如果是这样,您可以(也应该)在settings.pyas indicated on the docs.中指定数据库

编辑

下面是一个代码示例,说明如何按照您建议的方式使用现有代码执行此操作(我仍然认为还有更好的方法来执行此操作):

models.py

database_name = "wee_db"

def set_database_name(name):
    database_name = name

database = peewee.SqliteDatabase(database_name)

download.py

^{pr2}$

这里有一个可能的解决方案:

# download.py
import argparse
from models import DBManager

parser = argparse.ArgumentParser()
parser.add_argument(" db_path", required=True)

args = parser.parse_args()
DBManager(args.db_path)

^{pr2}$

相关问题 更多 >