grid_file – Tools for representing files stored in GridFS

Tools for representing files stored in GridFS.

class gridfs.grid_file.GridIn(root_collection, **kwargs)

Write a file to GridFS

Application developers should generally not need to instantiate this class directly - instead see the methods provided by GridFS.

Raises TypeError if root_collection is not an instance of Collection.

Any of the file level options specified in the GridFS Spec may be passed as keyword arguments. Any additional keyword arguments will be set as additional fields on the file document. Valid keyword arguments include:

  • "_id": unique ID for this file (default: ObjectId)
  • "filename": human name for the file
  • "contentType" or "content_type": valid mime-type for the file
  • "chunkSize" or "chunk_size": size of each of the chunks, in bytes (default: 256 kb)
  • "aliases": array of alias strings
  • "metadata": document containing arbitrary metadata
Parameters:
  • root_collection: root collection to write to
  • **kwargs (optional): file level options (see above)
_id

The '_id' value for this file.

This attribute is read-only.

chunk_size

Chunk size for this file.

This attribute is read-only.

close()

Flush the file and close it.

A closed file cannot be written any more. Calling close() more than once is allowed.

closed
Is this file closed?
content_type

Mime-type for this file.

This attribute can only be set before close() has been called.

length

Length (in bytes) of this file.

This attribute is read-only and can only be read after close() has been called.

md5

MD5 of the contents of this file (generated on the server).

This attribute is read-only and can only be read after close() has been called.

name

Name of this file.

This attribute can only be set before close() has been called.

upload_date

Date that this file was uploaded.

This attribute is read-only and can only be read after close() has been called.

write(data)

Write data to the file. There is no return value.

data can be either a string of bytes or a file-like object (implementing read()).

Due to buffering, the data may not actually be written to the database until the close() method is called. Raises ValueError if this file is already closed. Raises TypeError if data is not an instance of str or a file-like object.

Parameters:
  • data: string of bytes or file-like object to be written to the file
writelines(sequence)

Write a sequence of strings to the file.

Does not add seperators.

class gridfs.grid_file.GridOut(root_collection, file_id)

Read a file from GridFS

Application developers should generally not need to instantiate this class directly - instead see the methods provided by GridFS.

Raises TypeError if root_collection is not an instance of Collection.

Parameters:
  • root_collection: root collection to read from
  • file_id: value of "_id" for the file to read
_id

The '_id' value for this file.

This attribute is read-only.

__iter__()

Return an iterator over all of this file’s data.

The iterator will return chunk-sized instances of str. This can be useful when serving files using a webserver that handles such an iterator efficiently.

aliases

List of aliases for this file.

This attribute is read-only.

chunk_size

Chunk size for this file.

This attribute is read-only.

content_type

Mime-type for this file.

This attribute is read-only.

length

Length (in bytes) of this file.

This attribute is read-only.

md5

MD5 of the contents of this file (generated on the server).

This attribute is read-only.

metadata

Metadata attached to this file.

This attribute is read-only.

name

Name of this file.

This attribute is read-only.

read(size=-1)

Read at most size bytes from the file (less if there isn’t enough data).

The bytes are returned as an instance of str. If size is negative or omitted all data is read.

Parameters:
  • size (optional): the number of bytes to read
seek(pos, whence=0)

Set the current position of this file.

Parameters:
  • pos: the position (or offset if using relative positioning) to seek to
  • whence (optional): where to seek from. os.SEEK_SET (0) for absolute file positioning, os.SEEK_CUR (1) to seek relative to the current position, os.SEEK_END (2) to seek relative to the file’s end.
tell()
Return the current position of this file.
upload_date

Date that this file was first uploaded.

This attribute is read-only.

class gridfs.grid_file.GridFile(*args, **kwargs)

No longer supported.

Changed in version 1.6: The GridFile class is no longer supported.

Previous topic

errors – Exceptions raised by the gridfs package

Next topic

Tools

This Page