我从包中导入一个函数:
from read_video import getData
我写了这个函数。它具有以下结构:
def getData()
print 'start'
...
print 'end'
然后我调用这个函数:
video_data = getData()
在屏幕上,我看到了;
start
end
start
end
我认为这可能是我的函数调用本身。但事实并非如此。我还以为我的函数调用了一个调用我函数的函数。但事实并非如此。有谁知道这种奇怪行为的原因是什么?
答案 0 :(得分:1)
将代码修改为:
import pdb
def getData():
print 'start'
pdb.set_trace()
...
一旦您进入解释器提示,请按w
查看通话跟踪。这可以帮助你解决问题。
答案 1 :(得分:0)
我得到了自己问题的答案。我的代码保存在dimension.py
文件中。所以,我通过python dimension.py
调用该程序。在dimension.py
我有以下一行:
sys.path.append('C:\\Users\\me\\datamining\\Dimensions\\')
from dimension import *
问题是该包也在名为dimension.py
的文件中(具有相同名称但位于另一个目录中的文件)。从dimension.py
导入导致在dimension.py
(而不是包)中再执行一次该程序。