我在我的jupyter笔记本中运行一个循环,它使用execfile命令引用另一个python文件 我希望能够从execfile调用的文件中看到所有各种打印和输出。但是,我没有看到任何pandas数据帧打印输出。例如。如果我只是说'df'我没有看到数据帧表的输出。但是,我会看到'print 5'。
有人可以帮助我设置哪些选项来启用此功能?
import pandas as pd
list2loop =['a','b','c','d']
for each_item in list2loop:
execfile("test_file.py")
其中'test_file.py'是:
df=pd.DataFrame([each_item])
df
print 3
答案 0 :(得分:0)
解决方案只是使用%run
魔法而不是execfile
(无论execfile
是什么)。
假设您有一个文件test.py
:
#test.py
print(test_input)
然后你可以简单地做
for test_input in (1, 2, 3):
%run -i test.py
-i
告诉Python在IPython的名称空间中运行该文件,因此脚本知道您的所有变量,然后脚本中定义的变量在您的名称空间中。如果您在脚本中明确调用sys.exit
,则必须另外使用-e
。