Если вы хотите использовать import utilities1
из test.py, вы можете изменить путь поиска модулей. sys.path
- список путей, по которым интерпретатор будет искать модули для импорта. Сделай print(sys.path)
и ты увидишь. Вы также можете изменить его во время работы скрипта.
Например, следуя описанной вами файловой структуре
# script.py
import utilities1
import utilities2
utilities1.show_myself()
utilities2.show_myself()
1011 *
# utilities1.py
def show_myself():
print("I'm utilities1")
def test_myself():
print("Testing who I am... The answer: utilities1")
1014 *
# utilities2.py
def show_myself():
print("I'm utilities2")
def test_myself():
print("Testing who I am... The answer: utilities2")
1017 *
# test.py
import sys
sys.path.insert(1, "module")
import utilities1
import utilities2
utilities1.test_myself()
utilities2.test_myself()
В test.py
я вставил module
в sys.path
, который представляет собой относительный путь, по которому исполняемый скрипт будет искать модули utilities1
или utilities2
. Вот почему он может напрямую подключаться к этим двум модулям.
Если это не то, что вы пытались сделать, пожалуйста, объясните дальше.