У меня есть скрипт Python 2.7, который использует пакеты, расположенные в той же папке, что и скрипт.
C:\test
|
+-- test.py
|
+-- pkg
|
+-- __init__.py
|
+-- mod.py
test.py:
import pkg.mod
pkg.mod.foo()
print __file__
mod.py:
def foo():
print "foo"
При запуске test.py
все работает как положено. Все идет нормально.
Мне нужно выполнить test.py
в контексте существующего экземпляра python (т.е. я не могу создать новый экземпляр python). Как я могу это сделать?
Я пробовал execfile
, но при импорте произошла ошибка, поскольку каталог скриптов не добавлен в sys.path
. После добавления пути к sys.path
вручную импорт прошел, но сценарию не удалось получить доступ к переменной __file__
.
П.С .: Не могу перейти на python 3, мне нужно решение для 2.7.