如何使用python实例中的包执行python脚本?

时间:2019-06-14 17:38:28

标签: python-2.7 execfile

我有一个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的解决方案。

0 个答案:

没有答案