0

私はこのクラスを持っています

class SECHeader(object):
    def __init__(self,header_path):
        self.header = open(header_path).read()

このクラスにはいくつかのメソッドがあります。実行しようとしているメソッドの 1 つは、名前を解析する必要があります。

        def parsed_name(self):
            return header_path.split('-')[-1]

これは、私のコードで、header_path という名前を使用して、操作しようとしているものを識別する場合に正常に機能します。

for header_path in header_paths:
       header = SECHeader(header_path)
       print header.parsed_name()

でも名前変えたら

for named_path in header_paths:
       header = SECHeader(named_path)
       print header.parsed_name()

NameError が発生する

私は遊んでいました-処理したいオブジェクトに同じ名前を使用している限り、parsed_name関数でオブジェクトに任意の名前を使用できますが、名前を付ける方法がわからないため、ユーザーは持っていません私の命名スキームを使用するには

具体的には、parsed_name 関数を

        def parsed_name(self):
            return banana.split('-')[-1]

に変更した場合、私のループで

for banana in header_paths:
    header = SECHeader(banana)
    print header.parsed_name()

それは魅力のように機能しますが、それは私が取り組んでいるこのことの移植性を制限します. ユーザーは、関数で使用するラベルを使用してパスを参照する必要があるためです。

4

1 に答える 1