【问题标题】:Python ImportError - cannot import namePython ImportError - 无法导入名称
【发布时间】:2016-03-04 03:16:47
【问题描述】:

我是 Python 新手,我无法解决一个错误。 所以我有两个文件夹“Common”和“Parsers”。在“Common”文件夹中有一个文件 - FileUtils.py:

import re

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

    names = re.findall(pattern, target)

    return names[0]

在“Parsers”文件夹中还有一个文件——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 的第一行 - “from Parsers import Parser” PyCharm 抛出错误 - “ImportError: cannot import name 'Parser'”。

谁能解释我做错了什么?谢谢。

附:当一个文件中的所有代码 - 程序工作正常。

【问题讨论】:

    标签: python


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的帮助!我创建了一个简单的文件夹,而不是 Python 包。将代码放入 Python 包中后,我的应用程序运行良好。
    猜你喜欢
    • 1970-01-01
    • 2016-10-02
    • 2014-09-27
    • 2020-04-09
    • 2016-12-24
    • 2012-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多