我遇到了一些问题。出于某种原因,我试图放在一起的这个类抛出了一个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())
当我实例化progEnv类self.hostName.group()
程序无法在电话会议上有一个错误:
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'
任何想法上发生了什么?
你是第一个回应,我刚刚意识到发生了什么。花点时间和facepalm。我刚刚意识到它抛出错误的原因是因为我在与正则表达式方案不匹配的服务器上运行它。啊。谢谢您的帮助! – Drahkar 2012-01-10 12:39:11