2016-01-23 3 views
0

Есть способ расширить minidom?Расширение Python Minidom

Я попробовал этот тест с ZipFile и он работает:

Имея этот код в файле testzip.py:

import zipfile 

class zip(zipfile.ZipFile): 
    def test(self): 
     print('test') 

этот пример кода работает отлично:

import sys 
import testzip 

zip = testzip.zip(sys.argv[1], 'r') 
zip.test() 

Я попытался во многих отношениях делать то же самое с минидом, но без результатов.

В принципе, я хотел бы класс, имеющий методы minidom и определяемые пользователем методы:

import myminidom 

doc = myminidom.parseString(txt) 
doc.getElementsByTagName("meta") 
doc.customMethod1(customArg1) 

Там есть способ получает это, или это невозможно? Я попытался с class myminidom(minidom), и я понимаю, что это невозможно, потому что я не могу расширяет объект, я попытался с class myminidom(minidom.parseStr), но я получил TypeError: function() argument 1 must be code, not str ...

ответ

2

minidom не является классом. его модуль, вы не можете модулировать модули. Вы можете сделать прокси-сервер, если вы действительно хотите

посмотреть: How to proxy all methods from a Python module to another?

+1

Большое спасибо. Вы пишете «если вы действительно хотите», потому что устарели или плохой практике? – fusion3k

+0

Его запах кода, я думаю, Но эй! python для взрослых :) –

Смежные вопросы