def __init__(self,file,skey='END',struct=0,show=0,check=0, verbose=0, mode=1):
"""
"""
self.verbose = int(verbose)
self.nbytes = 0l # number of bytes read so far
self.POS = [] # position of headers
self.SIZE = []
self.datasum = [] # datasum of headers if check!=0
self.show = int(show) # print the header if show!=0
self.struct = int(struct) # examine the structure of the file
self.check = int(check) # calculate datasums
self.Extension = [] # list of HeadDict instances
self.Mode = mode # if 0 it is assumed that the input does
# not contain data (.hdr file)
self.KKeys = ['SIMPLE','EXTEND','NAXIS[0-9]{0,2}','BITPIX','XTENSION', 'END',]
if skey != 'END': self.KKeys.append(skey)
if type(file) == types.StringType:
(self.fd, self.size) = self.openFile(file)
if self.size == -1:
errMsg = "*** File %s does not exists ****" % file
raise Exception, errMsg
elif type(file) == types.FileType: # if fd != 0 we assume that a file object is passed
(self.fd, self.size) = (file, file.tell())
self.ID = self.fd.name
self.name = self.fd.name
elif type(file).__name__ == 'StringI': # this is a cStringIO object
(self.fd, self.size) = (file, file.tell())
self.ID = ""
self.name = ""
else:
errMsg = "Invalid type passed to file parameter during __init__"
raise Exception, errMsg
self.HEAD = [] # list of list(s) of header cards
self.analyzeStruct()
评论列表
文章目录