def specific_keyword_next(ascii_file, keyword, skip_blank_lines = True, comment_char = '!'):
    """Returns True if next token in file is the specified keyword."""
    file_pos = ascii_file.tell()  # will restore file pos to original, which may be before blank lines
    while True:
        if (skip_blank_lines):
            file_pos = ascii_file.tell()  # will advance file pos to next non-blank line
        line = ascii_file.readline()
        if len(line) == 0:  # end of file
            ascii_file.seek(file_pos)
            return False
        words = line.split()
        if len(words) == 0 or words[0][0] == comment_char:
            continue  # blank line or comment
        ascii_file.seek(file_pos)  # restore file position whether or not keyword match
        if words[0].upper() == keyword.upper():
            return True
        return False