spacepy.pycdf.Attr

class spacepy.pycdf.Attr(cdf_file, attr_name, create=False)[source]

An attribute, g or z, for a CDF

Warning

This class should not be used directly, but only in its subclasses, gAttr and zAttr. The methods listed here are safe to use in the subclasses.

Represents a CDF attribute, providing access to the Entries in a format that looks like a Python list. General list information is available in the python docs: 1, 2, 3.

An introduction to CDF attributes can be found in section 2.4 of the CDF user’s guide.

Each element of the list is a single Entry of the appropriate type. The index to the elements is the Entry number.

Multi-dimensional slicing is not supported; an Entry with multiple elements will have all elements returned (and can thus be sliced itself). Example:

>>> first_three = attribute[5, 0:3] #will fail
>>> first_three = attribute[5][0:3] #first three elements of 5th Entry
append(data) Add an entry to end of attribute
has_entry(number) Check if this attribute has a particular Entry number
insert(index, data) Insert an entry at a particular number
max_idx() Maximum index of Entries for this Attr
new(data[, type, number]) Create a new Entry in this Attribute
number() Find the attribute number for this attribute
rename(new_name) Rename this attribute
type(number[, new_type]) Find or change the CDF type of a particular Entry number
append(data)[source]

Add an entry to end of attribute

Puts entry after last defined entry (does not fill gaps)

Parameters:

data :

data for the new entry

has_entry(number)[source]

Check if this attribute has a particular Entry number

Parameters:

number : int

number of Entry to check or change

Returns:

out : bool

True if number is a valid entry number; False if not

insert(index, data)[source]

Insert an entry at a particular number

Inserts entry at particular number while moving all subsequent entries to one entry number later. Does not close gaps.

Parameters:

index : int

index where to put the new entry

data :

data for the new entry

max_idx()[source]

Maximum index of Entries for this Attr

Returns:

out : int

maximum Entry number

new(data, type=None, number=None)[source]

Create a new Entry in this Attribute

Note

If number is provided and an Entry with that number already exists, it will be overwritten.

Parameters:

data

data to put in the Entry

Other Parameters:
 

type : int

type of the new Entry, from const (otherwise guessed from data)

number : int

Entry number to write, default is lowest available number.

number()[source]

Find the attribute number for this attribute

Returns:

out : int

attribute number

rename(new_name)[source]

Rename this attribute

Renaming a zAttribute renames it for all zVariables in this CDF!

Parameters:

new_name : str

the new name of the attribute

type(number, new_type=None)[source]

Find or change the CDF type of a particular Entry number

Parameters:

number : int

number of Entry to check or change

Returns:

out : int

CDF variable type, see const

Other Parameters:
 

new_type

type to change this Entry to, from const. Omit to only check type.

Notes

If changing types, old and new must be equivalent, see CDF User’s Guide section 2.5.5 pg. 57