本文整理汇总了Python中numpy.lib.format.write_array_header_1_0函数的典型用法代码示例。如果您正苦于以下问题:Python write_array_header_1_0函数的具体用法?Python write_array_header_1_0怎么用?Python write_array_header_1_0使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了write_array_header_1_0函数的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_bad_header
def test_bad_header():
# header of length less than 2 should fail
s = BytesIO()
assert_raises(ValueError, format.read_array_header_1_0, s)
s = BytesIO(asbytes('1'))
assert_raises(ValueError, format.read_array_header_1_0, s)
# header shorter than indicated size should fail
s = BytesIO(asbytes('\x01\x00'))
assert_raises(ValueError, format.read_array_header_1_0, s)
# headers without the exact keys required should fail
d = {"shape": (1, 2),
"descr": "x"}
s = BytesIO()
format.write_array_header_1_0(s, d)
assert_raises(ValueError, format.read_array_header_1_0, s)
d = {"shape": (1, 2),
"fortran_order": False,
"descr": "x",
"extrakey": -1}
s = BytesIO()
format.write_array_header_1_0(s, d)
assert_raises(ValueError, format.read_array_header_1_0, s)
开发者ID:dyao-vu,项目名称:meta-core,代码行数:25,代码来源:test_format.py
示例2: test_large_header
def test_large_header():
s = BytesIO()
d = {'a': 1, 'b': 2}
format.write_array_header_1_0(s, d)
s = BytesIO()
d = {'a': 1, 'b': 2, 'c': 'x'*256*256}
assert_raises(ValueError, format.write_array_header_1_0, s, d)
开发者ID:dyao-vu,项目名称:meta-core,代码行数:8,代码来源:test_format.py
示例3: test_large_header
def test_large_header():
s = StringIO()
d = {"a": 1, "b": 2}
format.write_array_header_1_0(s, d)
s = StringIO()
d = {"a": 1, "b": 2, "c": "x" * 256 * 256}
assert_raises(ValueError, format.write_array_header_1_0, s, d)
开发者ID:rlamy,项目名称:numpy,代码行数:8,代码来源:test_format.py
示例4: _npy_size
def _npy_size(ary):
assert not ary.dtype.hasobject
magic_len = npy.MAGIC_LEN
# TODO: could calculate this directly
with closing(StringIO()) as sio:
npy.write_array_header_1_0(sio, npy.header_data_from_array_1_0(ary))
header_len = sio.tell()
data_len = ary.dtype.itemsize * ary.size
return magic_len + header_len + data_len
开发者ID:Holdlen2DH,项目名称:py-sdm,代码行数:12,代码来源:typedbytes_utils.py
示例5: write_localarray
def write_localarray(fp, arr, version=(1, 0)):
"""
Write a LocalArray to a .dap file, including a header.
The ``__version__`` and ``dim_data`` keys from the Distributed Array
Protocol are written to a header, then ``numpy.save`` is used to write the
value of the ``buffer`` key.
Parameters
----------
fp : file_like object
An open, writable file object, or similar object with a ``.write()``
method.
arr : LocalArray
The array to write to disk.
version : (int, int), optional
The version number of the file format. Default: (1, 0)
Raises
------
ValueError
If the array cannot be persisted.
Various other errors
If the underlying numpy array contains Python objects as part of its
dtype, the process of pickling them may raise various errors if the
objects are not picklable.
"""
if version != (1, 0):
msg = "Only version (1, 0) is supported, not %s."
raise ValueError(msg % (version,))
fp.write(magic(*version))
distbuffer = arr.__distarray__()
metadata = {'__version__': distbuffer['__version__'],
'dim_data': distbuffer['dim_data'],
}
write_array_header_1_0(fp, metadata)
np.save(fp, distbuffer['buffer'])
开发者ID:kwmsmith,项目名称:distarray,代码行数:41,代码来源:format.py
示例6: open_memmap
def open_memmap(filename, mode='r+', dtype=None, shape=None,
fortran_order=False, version=(1,0), offset=0):
"""
Open a .npy file as a memory-mapped array, with offset argument.
This may be used to read an existing file or create a new one.
:param str filename: The name of the file on disk. This may not be a
file-like object.
:param str mode: The mode to open the file with. In addition to the
standard file modes, 'c' is also accepted to mean "copy on write".
See `numpy.memmap` for the available mode strings.
:param dtype dtype: The data type of the array if we are creating a
new file in "write" mode.
:param tuple shape: The shape of the array if we are creating a new
file in "write" mode. Shape of (contiguous) slice if opening an
existing file.
:param bool fortran_order: Whether the array should be Fortran-contiguous
(True) or C-contiguous (False) if we are creating a new file in
"write" mode.
:param tuple version: If the mode is a "write" mode, then this is the
version (major, minor) of the file format used to create the file.
:param int offset: Number of elements to skip along the first dimension.
:return numpy.memmap: The memory-mapped array.
Raises:
* :exc:`ValueError` if the data or the mode is invalid
* :exc:`IOError` if the file is not found or cannot be opened correctly.
.. seealso:: :func:`numpy.memmap`
"""
if not isinstance(filename, basestring):
raise ValueError("Filename must be a string. Memmap cannot use" \
" existing file handles.")
if 'w' in mode:
assert offset == 0, "Cannot specify offset when creating memmap"
# We are creating the file, not reading it.
# Check if we ought to create the file.
if version != (1, 0):
msg = "only support version (1,0) of file format, not %r"
raise ValueError(msg % (version,))
# Ensure that the given dtype is an authentic dtype object rather than
# just something that can be interpreted as a dtype object.
dtype = np.dtype(dtype)
if dtype.hasobject:
msg = "Array can't be memory-mapped: Python objects in dtype."
raise ValueError(msg)
d = dict(
descr=dtype_to_descr(dtype),
fortran_order=fortran_order,
shape=shape,
)
# If we got here, then it should be safe to create the file.
fp = open(filename, mode+'b')
try:
fp.write(magic(*version))
write_array_header_1_0(fp, d)
offset = fp.tell()
finally:
fp.close()
else:
# Read the header of the file first.
fp = open(filename, 'rb')
try:
version = read_magic(fp)
if version != (1, 0):
msg = "only support version (1,0) of file format, not %r"
raise ValueError(msg % (version,))
fullshape, fortran_order, dtype = read_array_header_1_0(fp)
if shape:
length = np.atleast_1d(shape)
msg = "Specify shape along first dimension only"
assert length.ndim == 1, msg
else:
length = fullshape[0] - offset
shape = (length,) + fullshape[1:]
if dtype.hasobject:
msg = "Array can't be memory-mapped: Python objects in dtype."
raise ValueError(msg)
offset_items = offset * np.prod(fullshape[1:], dtype=int)
offset_bytes = fp.tell() + offset_items * dtype.itemsize
finally:
fp.close()
if fortran_order:
order = 'F'
else:
order = 'C'
# We need to change a write-only mode to a read-write mode since we've
# already written data to the file.
if mode == 'w+':
mode = 'r+'
marray = np.memmap(filename, dtype=dtype, shape=shape, order=order,
#.........这里部分代码省略.........
开发者ID:argju,项目名称:cgptoolbox,代码行数:101,代码来源:load_memmap_offset.py
注:本文中的numpy.lib.format.write_array_header_1_0函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论