2017-04-04 47 views
0

を持っていない:Pythonの - はAttributeError: 'NoneType' オブジェクトは、私は次のPythonコードを持っている何の属性 'グループ'

import re 

terms = {} 
numbers = {} 

meshFile = 'file.bin' 
with open(meshFile, mode='rb') as file: 
    mesh = file.readlines() 

outputFile = open('mesh.txt', 'w') 

for line in mesh: 
    meshTerm = re.search(b'MH = (.+)$', line) 
    term = meshTerm.group(1) 
    meshNumber = re.search(b'MN = (.+)$', line) 
    number = meshNumber.group(1) 
    numbers[str(number)] = term 
    if terms.has_key(term): 
     terms[term] = terms[term] + ' ' + str(number) 
    else: 
     terms[term] = str(number) 

print(terms) 

私は、コードを実行すると、私は次のエラーを取得する:

Traceback (most recent call last): 
    File "myFile.py", line 14, in <module> 
    term = meshTerm.group(1) 
AttributeError: 'NoneType' object has no attribute 'group' 

どうすればこの問題を解決できますか?

ありがとうございました。

答えて

2

このエラーは、一致するグループがないことを示しています。 line変数をre.searchに渡す前に印刷し、meshNumberNoneであるかどうかを確認してください。

1

meshTerm = re.search(b'MH = (.+)$', line)これを実行しているとき。ここではNoneを返します。それは正規表現オブジェクトでなければなりません。

+0

[回答]に記載されているとおり、不明瞭、過度に広範な、誤植、再現性のない、または重複した質問にはお答えください。 Write-my-codeリクエストと手間のかからない質問は[so]の話題にはならず、プロのコーディング/個人指導サービスに適しています。良い質問は[質問する]、[mcve]を含める、研究努力をして、将来の訪問者に役立つ可能性を秘めています。不適切な質問に答えることで、ナビゲートするのをより困難にし、さらにそのような質問を奨励することで、時間と専門知識をボランティアする他のユーザーを追い払うことができます。 – TigerhawkT3

関連する問題