Нужно в python файле открыть другой python файл, с абсолютным путём заданным пользователем
У меня есть 2 файла:
prog.py(Допустим по пути C:\prog.py)
from tkinter.filedialog import askopenfilename
filepath = askopenfilename() # "D:/path/file.py"
file = open(filepath, "r")
и file.py
class SomeClass:
def __init__(self):
print("test")
Как импортировать файл file.py, или если точнее класс SomeClass из file.py во время работы программы? без использования "import something.something_another"
Ответы (1 шт):
Автор решения: stalker320
→ Ссылка
Ответ обнаружил в стандартной библиотеке importlib.
import importlib.util
import sys
# For illustrative purposes.
name = 'itertools'
if name in sys.modules:
print(f"{name!r} already in sys.modules")
elif (spec := importlib.util.find_spec(name)) is not None:
# If you chose to perform the actual import ...
module = importlib.util.module_from_spec(spec)
sys.modules[name] = module
spec.loader.exec_module(module)
print(f"{name!r} has been imported")
else:
print(f"can't find the {name!r} module")