0

私はPythonを使用して以来、ほとんどOOPを行うことができず、クラスの作成などに慣れようとしています。

次のクラスを別の関数に分割するにはどうすればよいですか。クラスに 2 つの引数を渡すのではなく、最初に fname を渡し、次に表示するすべての xml 要素に対して display と呼ばれるメソッドを呼び出したいと思います。私がそれをやろうとしたとき、ツリーでグローバル名の問題が発生しました。

import sys
class Parser(object):

    def __init__(self, file_name, mylist):

        import xml.etree.ElementTree as etree
            self.file_name = file_name
            tree = etree.parse(self.file_name)
            for node in tree.getiterator():
                for element in mylist:
                    if element in node.tag:
                        print(node.tag)

list2 = ['KeyId','X509SerialNumber','CompositionPlaylistId']
fname = sys.argv[1]
myfileinstance =Parser(fname,list2)
4

1 に答える 1