fileutils¶
File utilities.
- oslo_utils.fileutils.compute_file_checksum(path, read_chunksize=65536, algorithm='sha256')¶
Compute checksum of a file’s contents.
- Parameters
path – Path to the file
read_chunksize – Maximum number of bytes to be read from the file at once. Default is 65536 bytes or 64KB
algorithm – The hash algorithm name to use. For example, ‘md5’, ‘sha256’, ‘sha512’ and so on. Default is ‘sha256’. Refer to hashlib.algorithms_available for available algorithms
- Returns
Hex digest string of the checksum
- oslo_utils.fileutils.delete_if_exists(path, remove=<built-in function unlink>)¶
Delete a file, but ignore file not found error.
- Parameters
path – File to delete
remove – Optional function to remove passed path
- oslo_utils.fileutils.ensure_tree(path, mode=511)¶
Create a directory (and any ancestor directories required)
- Parameters
path – Directory to create
mode – Directory creation permissions
- oslo_utils.fileutils.is_json(file_path)¶
Check if file is of json type or not.
This function try to load the input file using json.loads() and return False if ValueError otherwise True.
- Parameters
file_path – The file path to check
- Returns
bool
- oslo_utils.fileutils.is_yaml(file_path)¶
Check if file is of yaml type or not.
This function try to load the input file using yaml.safe_load() and return True if loadable. Because every json file can be loadable in yaml, so this function return False if file is loadable using json.loads() means it is json file.
- Parameters
file_path – The file path to check
- Returns
bool
- oslo_utils.fileutils.last_bytes(path, num)¶
Return num bytes from the end of the file and unread byte count.
Returns a tuple containing some content from the file and the number of bytes that appear in the file before the point at which reading started. The content will be at most
num
bytes, taken from the end of the file. If the file is smaller thannum
bytes the entire content of the file is returned.- Parameters
path – The file path to read
num – The number of bytes to return
- Returns
(data, unread_bytes)
- oslo_utils.fileutils.remove_path_on_error(path, remove=<function delete_if_exists>)¶
Protect code that wants to operate on PATH atomically. Any exception will cause PATH to be removed.
- Parameters
path – File to work with
remove – Optional function to remove passed path
- oslo_utils.fileutils.write_to_tempfile(content, path=None, suffix='', prefix='tmp')¶
Create a temporary file containing data.
Create a temporary file containing specified content, with a specified filename suffix and prefix. The tempfile will be created in a default location, or in the directory path, if it is not None. path and its parent directories will be created if they don’t exist.
- Parameters
content – bytestring to write to the file
path – same as parameter ‘dir’ for mkstemp
suffix – same as parameter ‘suffix’ for mkstemp
prefix – same as parameter ‘prefix’ for mkstemp
For example: it can be used in database tests for creating configuration files.