fileutils¶
File utilities.
New in version 1.8.
- 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
New in version 3.31.0.
- 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.
New in version 1.9.