dcase_util.files.FileLock
- class dcase_util.files.FileLock(filename, timeout=60, lock_file_extension='lock', **kwargs)[source]
Simple file-based locking class.
Usual solution for file locking is to use
fcntlmodule. This class provides a bit more flexible solution as it does not require file to be open to get a lock. This locking system should also work with NFS mounts (also prior v3).Constructor
- Parameters
- filenamestr
File path
- timeoutint
Timeout in seconds
- lock_file_extensionstr
File extension to be used for locking files
- __init__(filename, timeout=60, lock_file_extension='lock', **kwargs)[source]
Constructor
- Parameters
- filenamestr
File path
- timeoutint
Timeout in seconds
- lock_file_extensionstr
File extension to be used for locking files
Methods
__init__(filename[, timeout, ...])Constructor
delimiter([exclude_delimiters])Use csv.sniffer to guess delimiter for CSV file
detect_file_format([filename])Detect file format from extension
empty()Check if file is empty
exists()Checks that file exists
get_file_information()Get file information, filename
is_package([filename])Determine if the file is compressed package.
load([filename])Load file
lock()Lock file.
log([level])Log container content
release()Release file lock.
save([filename])Save file
show([mode, indent, visualize])Print container content
to_html([indent])Get container information in a HTML formatted string
to_string([ui, indent])Get container information in a string
touch()Create locking file with current time stamp.
validate_format()Validate file format
Attributes
bytesFile size in bytes
Check is the locking file older than specified timeout.
Check does the locking file exists.
loggerLogger instance
md5Checksum for file.
valid_formatsValid file formats