导入另一个模块时,sys无法正确导入

时间:2016-01-03 14:03:15

标签: python nameerror sys

我一直在尝试导入名为' 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。

1 个答案:

答案 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)

请注意第一行添加的导入。