[SciPy-dev] problem with write_array (2)
Pietro Berkes
p.berkes at biologie.hu-berlin.de
Wed Oct 9 12:34:41 EDT 2002
One line has been lost during cut&paste, sorry.
The function is:
def write_array(fileobject, arr, separator=" ", linesep='\n',
precision=5, suppress_small=0):
"""Write a rank-2 or less array to file represented by fileobject.
Inputs:
fileobject -- An open file object or a string to a valid filename.
arr -- The array to write.
separator -- separator to write between elements of the array.
linesep -- separator to write between rows of array
precision -- number of digits after the decimal place to write.
suppress_small -- non-zero to suppress small digits and not write
them in scientific notation.
Outputs:
file -- The open file.
"""
file = get_open_file(fileobject, mode='wa')
rank = len(arr.shape)
if rank > 2:
raise ValueError, "Can-only write up to 2-D arrays."
if rank == 0:
h = 1
rarr = Numeric.reshape(arr, (1,1))
elif rank == 1:
h = arr.shape[0]
rarr = Numeric.reshape(arr, (h,1))
else:
h = arr.shape[0]
rarr = arr
for k in range(h):
astr = Numeric.array2string(rarr[k], max_line_width=sys.maxint,
precision=precision,
suppress_small=suppress_small,
separator=' '+separator,
array_output=0)
astr = astr[1:-1]
file.write(astr)
file.write(linesep)
return file
More information about the SciPy-Dev
mailing list