0

テスト結果を解析する、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.pyは および と同じディレクトリにdbconn.pyありmain.pyます。Dbconn()問題なく動作しますが、なぜ動作しないのか理解Parser()できません...

4

1 に答える 1

4

パーサーは既存のpython モジュールです。別のファイル名 (parser.py ではない) を使用するか、stdlibs の前の sys.path にパスを挿入してください。

import sys
sys.path.insert(0,'parser/directory')
from parser import *
于 2013-08-12T23:19:23.347 に答える