全局名称'class'未定义 - Python

时间:2013-08-12 23:17:13

标签: python

我在名为Parser的文件中定义了一个名为parser.py的类,它解析了测试结果....

import sys
import re

class Parser:

    def __init__(self):
        pass

    def udp_parse(self, filename=""):
       # ... some code over here

现在,在main.py。我有:

from dbconn import *
from parser import *
import os
import subprocess

def main() 
    dbconn = Dbconn()
    parse = Parser()
    # more code here ...

if __name__ == '__main__':
    main()

我得到了:

Traceback (most recent call last):
  File "iperf.py", line 108, in <module>
    main()
  File "iperf.py", line 49, in main
    parse = Parser()
NameError: global name 'Parser' is not defined

parser.pydbconn.pymain.py位于同一目录中。 Dbconn()没有任何问题,但我不明白为什么Parser()无法正常工作......

1 个答案:

答案 0 :(得分:3)

Parser是现有的python module。使用不同的文件名(不是parser.py)或在stdlibs之前在sys.path中插入路径。

import sys
sys.path.insert(0,'parser/directory')
from parser import *