Bio.File module¶
Code for more fancy file handles.
- Classes:
UndoHandle File object decorator with support for undo-like operations.
Additional private classes used in Bio.SeqIO and Bio.SearchIO for indexing files are also defined under Bio.File but these are not intended for direct use.
-
Bio.File.
as_handle
(handleish, mode='r', **kwargs)¶ Context manager to ensure we are using a handle.
Context manager for arguments that can be passed to SeqIO and AlignIO read, write, and parse methods: either file objects or path-like objects (strings, pathlib.Path instances, or more generally, anything that can be handled by the builtin ‘open’ function).
When given a path-like object, returns an open file handle to that path, with provided mode, which will be closed when the manager exits.
All other inputs are returned, and are not closed.
- Arguments:
- handleish - Either a file handle or path-like object (anything which can be
passed to the builtin ‘open’ function: str, bytes, and under Python >= 3.6, pathlib.Path, os.DirEntry)
mode - Mode to open handleish (used only if handleish is a string)
kwargs - Further arguments to pass to open(…)
Examples
>>> from Bio import File >>> import os >>> with File.as_handle('seqs.fasta', 'w') as fp: ... # Python2/3 docstring workaround, revise for 'Python 3 only'. ... _ = fp.write('>test\nACGT') ... >>> fp.closed True
>>> handle = open('seqs.fasta', 'w') >>> with File.as_handle(handle) as fp: ... # Python 2/3 docstring workaround, revise for 'Python 3 only'. ... _ = fp.write('>test\nACGT') ... >>> fp.closed False >>> fp.close() >>> os.remove("seqs.fasta") # tidy up
Note that if the mode argument includes U (for universal new lines) this will be removed under Python 3 where is is redundant and has been deprecated (this happens automatically in text mode).
-
class
Bio.File.
UndoHandle
(handle)¶ Bases:
object
A Python handle that adds functionality for saving lines.
Saves lines in a LIFO fashion.
- Added methods:
saveline Save a line to be returned next time.
peekline Peek at the next line without consuming it.
-
__init__
(self, handle)¶ Initialize the class.
-
__iter__
(self)¶ Iterate over the lines in the File.
-
__next__
(self)¶ Return the next line.
-
readlines
(self, *args, **keywds)¶ Read all the lines from the file as a list of strings.
-
readline
(self, *args, **keywds)¶ Read the next line from the file as string.
-
read
(self, size=- 1)¶ Read the File.
-
saveline
(self, line)¶ Store a line in the cache memory for later use.
This acts to undo a readline, reflecting the name of the class: UndoHandle.
-
peekline
(self)¶ Return the next line in the file, but do not move forward though the file.
-
tell
(self)¶ Return the current position of the file read/write pointer within the File.
-
seek
(self, *args)¶ Set the current position at the offset specified.
-
__getattr__
(self, attr)¶ Return File attribute.
-
__enter__
(self)¶ Call special method when opening the file using a with-statement.
-
__exit__
(self, type, value, traceback)¶ Call special method when closing the file using a with-statement.