我有一个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
时,一切都会按预期进行。到目前为止,一切都很好。
我需要在现有python实例的上下文中执行test.py
(即,我无法生成新的python实例)。我怎样才能做到这一点?
我尝试过execfile
,但是由于未将脚本目录添加到sys.path
,因此导入时出错。在手动将路径添加到sys.path
之后,导入过程完成了,但是脚本无法访问__file__
变量。
P.S .:我无法切换到python 3,我需要2.7的解决方案。