我一直在尝试导入名为' nester'的自定义模块。这个模块使用sys.stdout。如果我尝试导入nester,我会收到错误。这是什么问题?
import sys
import nester
x = ['a', 'b', 'c']
nester.print_lol(x)
这是nester模块
def print_lol(the_list, indent=False, level=0, fh=sys.stdout):
for each_item in the_list:
if isinstance(each_item, list):
print_lol(each_item, indent, level+1, fh)
else:
if indent:
for tab_stop in range(level):
print("\t", end='', file=fh)
print(each_item, file=fh)
我能够在本地安装模块而没有任何错误,但它仍然无法正常工作。我一直试图寻找解决方案2小时没有运气,所以任何帮助将不胜感激。我正在关注Head First Python的教程。 126。
答案 0 :(得分:1)
您需要在子模块中导入sys
,以便完整的源代码读取
import sys
def print_lol(the_list, indent=False, level=0, fh=sys.stdout):
for each_item in the_list:
if isinstance(each_item, list):
print_lol(each_item, indent, level+1, fh)
else:
if indent:
for tab_stop in range(level):
print("\t", end='', file=fh)
print(each_item, file=fh)
请注意第一行添加的导入。