私は少し問題があります。何らかの理由で、私がまとめようとしているこのクラスは、すべての目的と目的のために、私が理解できる限り適切に応答しなければならないとき、NoneTypeエラーを投げています。インスタンス変数のNoneTypeエラー
import re
import subprocess
class progEnv(object) :
hostName_regex = re.compile('[a-z][a-z]prog[a-z][a-z][a-z]\d\d')
hostDomain_regex = re.compile('(prod|dev|qa1|stag)\.company\.net')
hostNum_regex = re.compile('[a-z][a-z]prog[a-z][a-z][a-z](\d\d)')
hostPrefix_regex = re.compile('\w\wprog')
hostTier_regex = re.compile('(web|app)')
hostId_regex = re.compile('[a-z][a-z]prog[a-z][a-z][a-z]\d\d([a-z])')
hostEnv_regex = re.compile('(prod|dev|qa1|stag)')
def __init__(self) :
self.hostnameProc = subprocess.Popen('hostname', stdout=subprocess.PIPE)
self.fqdn = self.hostnameProc.stdout.read()
self.hostName = self.hostName_regex.search(self.fqdn)
self.hostDomain = self.hostDomain_regex.search(self.fqdn)
self.hostNum = self.hostNum_regex.search(self.hostName.group())
self.hostPrefix = self.hostPrefix_regex.search(self.hostName.group())
self.hostTier = self.hostTier_regex.search(self.hostName.group())
self.hostId = self.hostId_regex.search(self.hostName.group())
self.hostEnv = self.hostEnv_regex.search(self.hostName.group())
私はのエラーでself.hostName.group()
への呼び出しのプログラムが失敗したprogEnvクラスをインスタンス化する場合:何が起こっているかの
Traceback (most recent call last):
File "./test.py", line 5, in <module>
env = prog_env.progEnv()
File "/prog/eclipse/workspace/PROG Management Command/prog_env.py", line 28, in __init__
self.hostNum = self.hostNum_regex.search(self.hostName.group())
AttributeError: 'NoneType' object has no attribute 'group'
任意の考え?
あなたは最初に応答しました。私はちょうど起こっていたことを正確に理解しました。時間とフェイスパルムを取る時間。私はちょうど私が正規表現スキームと一致しないサーバーでそれを実行しているため、エラーをスローしている理由が分かった。ああ。助けてくれてありがとう! – Drahkar