Create a new FileCollection, and select all files that size in
        a range::
            
            dir_path = "your/path"
            
            # select by file size larger than 100MB
            fc = FileCollection.from_path_by_size(
                dir_path, min_size=100*1024*1024)
            
            # select by file size smaller than 100MB
            fc = FileCollection.from_path_by_size(
                dir_path, max_size=100*1024*1024)
                
            # select by file size from 1MB to 100MB
            fc = FileCollection.from_path_by_size(
                dir_path, min_size=1024*1024, max_size=100*1024*1024)

def from_path_by_size(dir_path, min_size=0, max_size=1 << 40):
        """Create a new FileCollection, and select all files that size in
        a range::
            
            dir_path = "your/path"
            
            # select by file size larger than 100MB
            fc = FileCollection.from_path_by_size(
                dir_path, min_size=100*1024*1024)
            
            # select by file size smaller than 100MB
            fc = FileCollection.from_path_by_size(
                dir_path, max_size=100*1024*1024)
                
            # select by file size from 1MB to 100MB
            fc = FileCollection.from_path_by_size(
                dir_path, min_size=1024*1024, max_size=100*1024*1024)
        """
        def filter(winfile):
            if (winfile.size_on_disk >= min_size) and \
                (winfile.size_on_disk <= max_size):
                return True
            else:
                return False

        return FileCollection.from_path_by_criterion(
            dir_path, filter, keepboth=False)