2016-03-03 75 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

相關問題