从另一个文件导入一个类

时间:2014-07-23 14:47:57

标签: python class object import

我有三个不同的文件,并希望在另一个文件中的一个文件中使用该类。

1)__init__.py(空)

2)assembler.py

3)parser.py(这是Parser类所在的位置)

assembler.py:

from parser import Parser
file_location = r'C:\Users\location'
p = Parser()
print p.getCommands()

parser.py:

class Parser(object):
    def __init__(self, file_location):      
        #get the files contents
        file = open(file_location,'r');
        self.contents = file.read();
        file.close();
        self.contents = self.contents.split('\n')
        self.contents = self.removeComments(self.contents)

    def removeComments(self, liste):
        remove = []

        for command in liste:
            if command == '':
                remove.append(command)
            if r'//' in command:
                remove.append(command)
            if not ('@' in command or ';' in command or '=' in command):
                remove.append(command)

        for element in remove:
            if element in liste:
                liste.remove(element)

        return liste

    def getCommands(self):
        return self.contents

我收到错误:

Traceback (most recent call last):
File "assembler.py", line 1, in <module>
    from parser import Parser
ImportError: cannot import name Parser

我试过研究这个但到目前为止还没找到解决方案,希望你能帮助我。

1 个答案:

答案 0 :(得分:0)

尝试

from .parser import Parser

这仅在您不执行脚本但将其用作包时才有效。