Модуль импорта Python через аргумент CLI

#python #python-3.x #command-line-arguments

#python #python-3.x #аргументы командной строки

Вопрос:

Я хочу импортировать скрипт / модуль python в свой скрипт на основе аргументов CLI. Я хочу что-то вроде этого:

 import os
import sys
from sys.argv[1] import ClassName
# Rest of the function using the class ClassName
 

И затем я хочу вызвать любой модуль (модель машинного обучения в моем случае) Я хочу, чтобы из CLI как:

 python3 script.py model_1
 

Есть ли способ сделать это на python?

Ответ №1:

Вы можете динамический модуль импорта, как:

 ClassName=__import__(sys.argv[1])
ClassName.do_something()
 

или

 import importlib
ClassName=importlib.import_module(sys.argv[1])
ClassName.do_something()
 

Они равны import <The Module> as ClassName

Комментарии:

1. Спасибо за ответ. Однако он не говорит мне, как импортировать определенный класс, например: import arange из numpy

2. @MNK : то же самое: arange=importlib.import_module("numpy").arange .если это модуль, вы также можете написать, как path=importlib.import_module('os.path')