montepy.input_parser.input_file module#
- class montepy.input_parser.input_file.MCNP_InputFile(path, parent_file=None, overwrite=False)#
Bases:
object
A class to represent a distinct input file.
Note
this is a bare bones implementation to be fleshed out in the future.
Changed in version 0.3.0: Added the overwrite attribute.
- Parameters:
path (str) – the path to the input file
parent_file (str) – the parent file for this file if any. This occurs when a “read” input is used.
overwrite (bool) – Whether to overwrite the file ‘path’ if it exists
- classmethod from_open_stream(fh)#
Create an MCNP Input File from an open, writable stream
- Parameters:
fh (io.TextIOBase) – An open and writable object, such as a file handle.
- property is_stream#
- property lineno#
The current line number being read in the file.
This is 1-indexed.
- Return type:
int
- property name#
- open(mode, encoding='ascii', replace=True)#
Opens the underlying file, and returns self.
This should only ever be completed from within a
with
statement. For this reason, aclose
functional is intentionally not provided.Note
For different encoding schemes see the available list here.
CP1252 is commonly referred to as “extended-ASCII”. You may have success with this encoding for working with special characters.
Changed in version 0.2.11: Added guardrails to raise FileExistsError and IsADirectoryError.
- Parameters:
mode (str) – the mode to open the file in
encoding (str) – The encoding scheme to use. If replace is true, this is ignored, and changed to ASCII
replace (bool) – replace all non-ASCII characters with a space (0x20)
- Returns:
self
- Raises:
FileExistsError – if a file already exists with the same path while writing.
IsADirectoryError – if the path given is actually a directory while writing.
- property parent_file#
The parent file for this file.
This is only used when this file is pointed to by a “read” input.
- Return type:
str
- property path#
The path for the file.
- Return type:
str
- read(size=-1)#
- readline(size=-1)#
- write(to_write)#