check_folder.py 文件源码

python
阅读 35 收藏 0 点赞 0 评论 0

项目:anglerfish 作者: juancarlospaco 项目源码 文件源码
def check_folder(folder_to_check: str=Path.home().as_posix(),
                 check_space: int=1) -> bool:
    """Check working folder,from argument,for everything that can go wrong."""
    folder = Path(str(folder_to_check))
    m = "Folder {0} ({0!r}) free space {1} ({2} Bytes) of Minimum {3} GigaByte"
    log.debug("Checking Working Folder: {0} ({0!r}).".format(folder))
    if not folder.is_dir():  # What if folder not a folder.
        log.critical("Folder does not exist: {0} ({0!r}).".format(folder))
        return False
    elif not os.access(folder.as_posix(), os.R_OK):  # What if not Readable.
        log.critical("Folder not readable: {0} ({0!r}).".format(folder))
        return False
    elif not os.access(folder.as_posix(), os.W_OK):  # What if not Writable.
        log.critical("Folder not writable: {0} ({0!r}).".format(folder))
        return False
    elif disk_usage and folder.exists() and bool(check_space):
        hdd = int(disk_usage(folder.as_posix()).free)
        if int(hdd / 1_024 / 1_024 / 1_024) >= int(check_space):  # Check_space
            log.info(m.format(folder, bytes2human(hdd), hdd, check_space))
            return True
        else:  # < check_space Gb.
            log.critical(m.format(folder, bytes2human(hdd), hdd, check_space))
            return False
    return False
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号