<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def calc_file_md5(filepath, chunk_size=None):
 """ Calculate a file's md5 checksum. Use the specified chunk_size for IO or the default 256KB :param filepath: :param chunk_size: :return: """

    if chunk_size is None:
        chunk_size = 256 * 1024
    md5sum = hashlib.md5()
    with io.open(filepath, 'r+b') as f:
        datachunk = f.read(chunk_size)
        while datachunk is not None and len(datachunk) > 0:
            md5sum.update(datachunk)
            datachunk = f.read(chunk_size)

    return md5sum.hexdigest()