2016-03-03 108 views
0

我是Python新手,无法解决一个错误。 所以我有两个文件夹“Common”和“Parsers”。在 “通用” -folder有一个文件 - FileUtils.py:Python ImportError - 无法导入名称

import re 

def get_filename(target): 
    pattern = "^.*\/(.*)$" 

    names = re.findall(pattern, target) 

    return names[0] 

在 “分析器” -folder也有一个文件 - Parser.py:

import os 
import urllib 
import urllib.request 
import re 
from Common import FileUtils 

#urls - list of strings 
def parse_images(urls) 
    ... 
    ... 
    full_path = os.path.join(directory, FileUtils.get_filename(final_link)) 
    ... 

最后,在根文件夹 - Main.py:

from Parsers import Parser 

def main(): 
    url = ['http://www.example.com'] 
    Parser.parse_images(url) 

在Main.py的第一线 - “从解析器进口分析器” PyCharm抛出一个错误 - “导入错误:无法导入名称‘解析器’”。

有人可以解释我做错了什么吗?谢谢。

P.S.当一个文件中的所有代码 - 程序工作正常。

回答

0

您是否将文件夹设置为Python包?如果你想从一个目录导入,那么你需要一个__init__.py文件来完成这个工作(一个空的工作)。

尝试创建一个空Parsers/__init__.py文件,看看能否解决

+0

感谢您的帮助!我创建了一个简单的文件夹,而不是Python包。将代码放入Python包后,我的应用程序正常工作。 – riktus

相关问题