2012-11-14 5 views
1

다른 Python 스크립트에서 어떻게 MLStripper 클래스를 호출 할 수 있습니까?Python 스크립트에서 호출 클래스

홈페이지 파이썬 스크립트 :

import ConfigParser 
    import os 
    from HTMLParser import HTMLParser 

    c = imaplib_connect.open_connection() 
    try: 
     config = ConfigParser.ConfigParser() 
     config.read([os.path.expanduser('~/reader.config')]) 
     test = MLStripper.strip_tags("<br>testing</br>") 
     print test 

클래스는 내가 전화를 걸 :

class MLStripper(HTMLParser): 
      def __init__(self): 
       self.reset() 
       self.fed = [] 
      def handle_data(self, d): 
       self.fed.append(d) 
      def get_data(self): 
       return ''.join(self.fed) 

      def strip_tags(html): 
       s = MLStripper() 
       s.feed(html) 
       return s.get_data() 
+1

시작을 통해 협력하여 [파이썬 튜토리얼] (http://docs.python.org/ 2/자습서 /). "수업을 부르는 것"은 실제로 시작하는 것이 아닙니다. – millimoose

+0

클래스를 호출하려면 '__call__' 마법 메서드를 사용해야합니다. –

답변

3
클래스가 처음 instatiated해야

:

import ConfigParser 
import os 
from HTMLParser import HTMLParser 

c = imaplib_connect.open_connection() 
try: 
    config = ConfigParser.ConfigParser() 
    config.read([os.path.expanduser('~/reader.config')]) 
    ML = MLStripper() 
    test = ML.strip_tags("<br>testing</br>") 
    print test 
+0

'MLStripper'를 가져와야합니다. –

+0

즉'class MLStripper'가 mlstripper.py라는 파일에 있다면, 파일의 맨 위에'from mlstripper import MLStripper'라고 말하십시오. –

+0

나는 지금 같은 파일에 모든 것을 가지고 있습니다. . 클래스를 인스턴스화하기 전에 클래스를 정의해야하므로 클래스를 맨 위로 이동했습니다. test = ML.strip_tags ("
testing
") TypeError : strip_tags()는 정확히 1 개의 인수 (주어진 2 개)를 취하지 만, strip_tags가 2 개의 인수, 어떤 아이디어를 전달한다고 말하는 이유는 무엇입니까? – c12

관련 문제