Какой самый простой способ реимпортировать многие библиотеки Python? - PullRequest
0 голосов
/ 25 сентября 2019

Я пишу сервер, который будет запускать цикл над другими скриптами python, найденными в файле конфигурации.

код будет выглядеть примерно так:

for script in CONFIG.scripts:
    import script as s
    s.some_function()
    s.another_function()

, очевидно, каждыйСценарий должен будет реализовать все необходимые функции, но это должны быть сторонние сценарии, потому что именно так пользователи взаимодействуют с сервером.

Каков наилучший способ повторного импорта библиотек?Я думал о нескольких вариантах:

  1. import script as s; importlib.reload(s)
  2. del s; import s
  3. импортировать все сценарии в некоторый список и затем запустить их?

Учтите, что интерфейс с пользователями должен быть как можно более простым, и я скорее не заставляю их делать что-либо большее, чем определение необходимых функций.

Сервер написан на python 3.6 (но его можно перенести в 3.7, если бы это помогло в этой ситуации)

1 Ответ

2 голосов
/ 25 сентября 2019

Вам не нужно перезагружать!Просто import script as s будет работать.

Пример:

a.py:

print("importing a")

def foo():
    print("foo from a")

b.py:

print("importing b")

def foo():
    print("foo from b")

main.py:

import a as c
c.foo()
import b as c
c.foo()

вывод:

importing a
foo from a
importing b
foo from b
...