#python #python-3.x #import #python-import
Вопрос:
Допустим, у меня есть файл python fileOne.py
, который называется «Импорт fileTwo.py
«. Есть ли способ fileTwo.py
динамического доступа к объектам fileOne.py
? Поэтому fileTwo.py
вам не нужно знать имя файла, который будет импортировать его, и вместо этого вы можете сделать что-то вроде этого: FILE_THAT_IMPORTED_ME.myFunction()
.
В основном я хочу знать, есть ли способ доступа к объектам из «родительского» файла, который импортирует сценарий из указанного сценария.
Комментарии:
1. Пожалуйста, предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.
Ответ №1:
Вы можете получить доступ к файлу, который вы импортировали, выполнив import __main__
это, и __main__
он будет содержать родительский модуль.
a.py#
import b
print(b)
b.py#
import __main__
print(__main__)
Выполнение a.py
приведет к
<module '__main__' from '/home/jonatan/PycharmProjects/tests/test/a.py'>
<module 'b' from '/home/jonatan/PycharmProjects/tests/test/b.py'>
Обратите внимание, что __main__
это печатается раньше b
, так как модуль b должен завершить загрузку, прежде чем продолжить файл a
.